السبت، 31 ديسمبر 2011

قاعدة بيانات مركزية ضخمة لكل معلومات المؤسسات وتفاعلها مع مستخدمين موزعين على اجزاء المؤسسة

هذا البرنامج عبارة عن قاعدة بيانات ضخمة تضم معلومات وتفاصيل كاملة على كل شخص ضمن المؤسسة(قابلة للتطوير من قبل المستخدم حسب معلومات كل مؤسسة  وحسب مايريدون من جداول)  وكل شخص او موضف ما ضمن هذه المؤسسة له صلاحيات معينة بالدخول على جداول ومعلومات معينة ضمن قاعدة البيانات على اساس ان المؤسسة مربوطة بشبكة محلية حيث كل موضف من مكتبه يستطيع الوصول الى جداول معينة ضمن قاعدة البيانات المركزية  وكتب رسمية موجودة على الحاسبة المركزية  على اساس الصلاحيات التي حددت له ويمكن استخدامه بدون شبكة محلية اي حاسبة واحدة مركزية ويستطيع كل موضف الجلوس عيها وتصفح وتعديل على ماحدد له من صلاحيات ضمنها

شكل توزيع الهمام من قبل المدير
في البداية لنبدء من الحاسبة المركزية والبرنامج المنصب في داخلها
يتيح هذا البرنامج لكل مستخدم بالدخول على الحاسبة المركزية حسب اسمه وكلمة مروره التي ستحدد من قبل المديرالمسؤل عن حسابات المستخدمين مثلا لموضف ما قابلية على دخول على جدول الرواتب وليس له قابلية على الدخول على جدول الضرائب لانه يقع على عاتقة وضيفة توزيع الرواتب وهو بحاجة الى قاعدة بيانات  فليس له داع كل شخص له قاعدة بيانات هنا نعمل قاعدة بيانات ملركزية لكل المؤسسة والوصول او الدخول اليها يتم حسب الصلاحيات
بعد تشغيل برنامج الخادم المركزي على الحاسبة سيضهر التالي
----من هذه الواجه يدخل كل مستخدم كلمة مروره ليدخل الى البرنامج وتمتع بصلاحياته وماخول من جداول بدخولها ومن كتب بتصفحاها وملفات يضيف او يعدل او يحذف او يطبع حسب صلاحياته


نرى وجود زر اسمه تسجيل حسابات جدد هذه الصفحة مقفولة بكلمة مرور لايستطيع الدخول اليها الا المدير ليعطي للاعضاء صلاحيات وخطوصيات معينة كما  هي النافذة التالية يسجل لكل مستخدم كلمة مرور خاصة به وصلاحيات دخول على جداول  المخصصة له وطباعة وغيرها
وهذه كلمة المرور بعد ان تعطى الى الموضف يستطيع الدخول بها الى الحاسبة المركزية وممارسة واجباته ضمن الجداول التي اعطى له صلاحيات بدخولها ولا يستطيع فتح جداول اخرى خارج صلاحياته ويستصيع من مكتبه تسجيل كلمة مروره وسوف تنقل له الجداول التى تخصه عبر الشبكة دون الوصول الى الحاسبة المركزية وبذالك تكون المؤسسة مترابطة وتحديث على القاعدة المركزية تتحدث المعلومات عند الجميع وليس بحاجة الى اكثر من نسخة كل مستخدم يتحكم في هذه القاعدة المركزية ضمن صلاحياته على ماحدد له من جداول


تستطيع طباعة ماتشاء من صفوف واعمدة حسب طلبك
 وبحث بكل الحقول الموجود لتسهيل الوصول الى اي معلومة بأسرع وقت
كذاك تستطيع اضافة عدد غير محدد من المرفقات (جسية وكتب رسمية وماشابه) لكل شخص

هنا يمكنك من اضافة جداول الى قاعدة البيانات وحذف جداول حسب طلبك لتزداد المرونة وتستطيع اضافة وتطوير دون الرجوع الى المبرمج تضيف جداولك الجديدة وتتعامل معها بكل مرونة احتاجيت جدول للعمال تضيفه عن طريق البرنامج وهو يتعشق مع بقية الجداول

وبالنسبة للمستخدمين
اذا اراد  المستخدم او الموضف الدخول الى الحاسبة المركزية من حاسبته الشخصية الموجودة في مكتبه يدخل اسمه وكلمة مروره على البرنامج التالي فتقوم الشبكة بالاتصال بالقاعدة المركزية توصيل جميع صلاحياته من جداول وملفات  له وهو على مركزه
ويستطيع طباعة وتصفح وماشابه
ويستطيع هذا الموضف من طباعة وتصفح في  جداول التي عينت له من  قبل المدير

الهدف من المشروع:  تكوين قاعدة بيانات مركزية تضم كل صغيرة وكبيرة عن كل شيئ في المؤسسة وتمكين كل موضف من الوصول الى ماتخصه من معلومات ضمن هذه القاعدة الضخمة وبذالك تستطيع الوصول الى اي معلومة في المؤسسة بربع ثانية وكذالك تسهل على الموضفين ارق العمل 



السبت، 10 ديسمبر 2011

كيف ارضيك ياعميلي (تكوين قواعد بيانات مرنة قابلة للتطوير من قبل المستخدم)

كثر من العملاء من  يبحث على قواعد بيانات لا يعود اليك بعد ان تصممها له ان احتاج الى تطوير او تغير.
 فتنجه الى طريقة تكون قاعدة البيانات قابلة للتطوير وقابلة لاضافة الجداول والاعمدة  وقت التنفيذ اي متى مااحتاج زبوننا الى جدول جديد يضيفه تلقائيا وهو يتعشق داخل البرنامج ويتواصل مع البقية .....وبذالك يستغني العميل عن المبرمج بعد التصميم ويكون للبرنامج مرونة عالية
--------------تخيل انت مستخدم وبعد سنة احتجت الى اضافة جدول جديد يخص عمليات معينة وهاذا ما يحصل فعلا في المؤسسات الحكومية والشركات تكون قواعد بياناتها بتطوير مستمر وتغير مستمر ....فهل من المنطق ان كل مااحتاج الى تطوير يعود اليك
مثل مايكول العراقي(تطلع البطانة اغلى من الوجه)
اذن فلحل.........؟
نمكنه من اضافة جداول تتعشق بعد اضافتها مع بقية الاجزاء

شاهد هذه طريقة تمكن المستخدم من اضافة جدول الى قاعدة البيانات وقت النتفيذ

--------في هذا المثال نضيف الادوات كما هي بينة



وهذا كود تكوين جدول حسب طلب المستخدم
 Dim tableName As String = TextBox1.TextTry' Part 2: Create one Table using OLEDB Provider
con.Open()
Dim con As New OleDb.OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" & Application.StartupPath & "\sdtdb.mdb")'Get database schema
con.Close()
Dim dbSchema As DataTable = con.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, tableName, "TABLE"})' If the table exists, the count = 1If dbSchema.Rows.Count > 0 Then' do whatever you want to do if the table existsElse'begin creat tabelDim solsaved As String = "CREATE TABLE [" & tableName & "] ([ID] INT PRIMARY KEY"
c1.SelectedIndex = i
CheckedListBox1.SelectedIndex = i
solsaved = solsaved &
For i = 0 To c1.Items.Count - 1" ,[" & c1.SelectedItem & "] " & CheckedListBox1.SelectedItemNextsolsaved = solsaved & ")"'do whatever you want to do if the table does not existMsgBox(solsaved)' e.g. create a table
con.Open()
cmd.ExecuteNonQuery()
MessageBox.Show(
con.Close()
Dim cmd As New OleDb.OleDbCommand(solsaved, con)"Table Created Successfully")End If
MsgBox(ex.Message, MsgBoxStyle.Critical,
Catch ex As Exception"Error")End Try

وهذا كود اضافة عمود من نوع نصي وكذالك بقية الانواع تستطيع عمل switch case لها
c1.Items.Add(TextBox70.Text)
CheckedListBox1.Items.Add("TEXT(50)")