بسم الله الرحمن الرحيم

Download Report

Transcript بسم الله الرحمن الرحيم

‫بسم هللا الرحمن الرحيم‬
‫)‪Lecture( 4‬‬
• ‫للقراءة‬2.2.2. Data Independence
DBMS Languages ‫لغات نظم إدارة قواعد البيانات‬
1. DDL : Data Definition Language
‫ لتعريف‬DB designers ‫ والـ‬DBA ‫وهي تستخدم بواسطة الـ‬
‫ وذلك في حالة‬.)External Schemas‫ و‬Conceptual ( ‫الـ‬
‫ و الـ‬Conceptual ‫ ال تفصل بين الـ‬DBMS ‫أن الـ‬
) External Level
DDL ‫ لترجمة أوامر ال‬Compiler ‫ لها مترجم‬DBMS ‫أي‬
•
•
2. SDL : Storage Definition Language
) Internal Schema ( ‫وتستخدم هذه اللغة لتحديد الخارطة الداخلية‬
3. VDL :- View Definition Language
(External Schemas( ‫وهي تستخدم لتحديد مرئيات المستخدمين‬
‫ والـ‬Conceptual ‫ بين الـ‬DBMS ‫وذلك عندما تفصل الـ‬
Three Schema Architecture ‫ أي تطبق ال‬،External Level
•
‫•‬
‫‪DML : Data Manipulation Language‬‬
‫وهي تستخدم بعد تحديد كل خارطات قاعدة البيانات وتحميلها بالبيانات وذلك السترجاع‬
‫وتحديث البيانات ( حذف ‪ ،‬إضافة ‪ ،‬تعديل )‬
‫•‬
‫‪ DML‬لها نوعان‪-:‬‬
‫‪4.‬‬
‫•‬
‫‪High – Level or non Procedural DML-:‬‬
‫في هذا النوع إدخال األوامر أما يكون مباشرة من الشاشة كأوامر ‪ SQL‬أو تكون‬
‫األوامر مضمنة في احدي لغات البرمجة ويتم استخالص هذه األوامر وتنفيذها بواسطة ال‬
‫‪.DBMS‬‬
‫•‬
‫‪Low-Level or Procedural DML‬‬
‫أوامرها تكون مضمنة دائما ً في احدي لغات البرمجة وذلك الن كل أمر فيها يسمح باسترجاع سجل‬
‫واحد فقط ولذا تستخدم احدي لغات البرمجة لالستفادة من إمكانيات اللغة ( كاستخدام الحلقات‬
‫التكرارية ‪ Loops‬مثال السترجاع أكثر من سجل )‪.‬‬
‫•‬
‫في معظم ال ‪ DBMS‬الحالية والتي تستخدم النموذج العالئقي كـ ( ‪Implementation‬‬
‫‪ ) Model‬نجد أن أوامر الـ ‪ DDL‬و ‪ VDL‬و ‪ DML‬كلها مضمنة في لغة واحدة شاملة‬
‫وهي ‪ SQL‬وهي لغة النموذج العال ئقي ‪ ،‬أما الـ ‪ SDL‬فتكون لغة منفصلة‪.‬‬
‫واجهات التطبيق في نظم إدارة قواعد البيانات‬
‫‪DBMS Interfaces‬‬
‫‪1. Menu based Interfaces:‬‬‫أي واجهة تطبيق لها عدد من الخيارات (‪ )Options‬تسمي بـ ‪Menus‬‬
‫•‬
‫ومن اشهر أنواعها الـ‬
‫‪ Pull down menus‬والتي تستخدم للتصفح (‪ )browsing‬في قاعدة البيانات‪.‬‬
‫‪Forms – based Interfaces:‬‬‫•‬
‫‪2.‬‬
‫لكل ‪ DBMS‬لغة معينة لتحديد الـ ‪ Forms‬وهي عادة ما تستخدم لحذف‬
‫وتعديل البيانات وتستخدم بواسطة الـ ( ‪ ) Naive users‬المستخدمين الذين‬
‫ال يعرفون أي شئ عن الـ ‪ DBMS‬وإنما يتعاملون معها عبر الـ ‪Forms‬‬
‫فقط ‪.‬‬
‫‪3. Graphical User Interfaces:‬‬‫وهي تستخدم لتوضيح خارطة قاعدة البيانات كـ ( ‪) diagram‬‬
‫‪4. Interfaces for DBA:‬‬‫وهي تستخدم بواسطة الـ ‪ DBA‬إلنجاز بعض المهام كمنح الصالحيات‬
‫للمستخدمين و ‪Create accounts‬و ‪Changing accounts‬و‬
‫‪Reorganizing the storage structures of DB.‬‬
‫‪5. Interface for parametric users:‬‬
‫تبرمج لهم احيانا ً بعض المفاتيح النجاز مهامهم المتكررة بأقل عدد ممكن‬
‫من ال )‪.(keystrokes‬‬
‫‪6. Natural language interfaces:‬‬
‫في هذه الواجهات يمكن للمستخدم ان وجه طلبه باستخدام لغة‬
‫كاللغة االنجليزية مثالً‪.‬‬
‫‪7.Speech input and output.‬‬
Classification of DBMS
:‫ علي أساس‬DBMS ‫تصنف الـ‬
DBMS ‫ ) المستخدم في الـ‬Data Model( ‫ نموذج البيانات‬.1
:)Main Criterion for Classification(
Relational Data Model ‫ الحالية اما تستخدم الـ‬DBMS ‫كل الـ‬
. Object Data Model ‫أو‬
Examples:Oracle, Access Relational DBMS
IRIS, ORION Object DBMS
Informix universal server: object-relational
DBMS
2.
‫عدد المستخدمين‬
(Number of users supported by the system)
•
‫الـ‬
DBMS ‫أما‬
•
•
Single user system (one user at the time using
DB)
‫أو‬
Multiuser system (more than one user at a time
concurrently)
(Needs concurrency control)
3. ‫ عدد الـ‬sites ‫التي يمكن توزيع قاعدة البيانات عليها‬
Number of Sites over which the database is distributed
-: DBMS ‫ هنالك عدة أنواع للـ‬Sites ‫• من حيث عدد الـ‬
1. Centralized DBMS (DB Stored at a single
computer (site).
Ex: - client – server module. DB Stored at the
server
2. Distributed DBMS: DBMS Software and DB are
distributed over many sites connected by
computer network (homogeneous)
3. Federated DBMS (Multi database systems
distributed across multiple sites , but each site
user different DBMS (Heterogeneous DBMS)
4. Cost.
5. Type of access path options for storing
files.
6. General purpose or specific purpose .
Good bye
chapter TWO
Chapter (3)
Data Modeling Using The
Entity Relationship Model
‫‪Database Design process‬‬
‫عملية تصميم قاعدة البيانات تحتوي علي الخطوات التالية‪:‬‬
‫‪1st step:- Requirements collection and analysis‬‬
‫تجميع حاجات المستخدمين وتحليلها‪..‬‬
‫•‬
‫• تنتهي هذه الخطوة بتحديد كل احتياجات المستخدمين‬
‫(‪ ( data requirements‬وتحديد كل العمليات المطلوبة علي قاعدة‬
‫البيانات (‪ )Functional requirements‬وتشمل العمليات‬
‫المعرفة بواسطة المستخدمين (‪) User defined operations‬‬
‫وعمليات االسترجاع والتحديث‬
‫‪by using dataflow diagram ,sequences diagram‬‬
‫‪.....etc‬‬
‫‪• 2nd step:- Conceptual design:‬‬
‫• بمجرد تجميع االحتياجات وتحليلها ‪ ،‬يشرع المصممون في إنشاء ما يعرف بـ‬
‫‪ Conceptual Schema‬لقاعدة البيانات وإلنشاء هذه الخارطة تستخدم احدي‬
‫نماذج الـ‬
‫• )‪ (High-level conceptual data Models‬وذلك بوصف البيانات عن‬
‫طريق استخدام مفاهيم النموذج مثال لذلك الـ )‪ .(E- R Model‬وهذه المفاهيم ال‬
‫تحتوي علي أي تفاصيل للتطبيق )‪.)Implementation details‬‬
‫• ولذا تستخدم الـ ‪ Conceptual Schema‬كمرجع للتأكد من أن احتياجات كل‬
‫المستخدمين مستوفاه في البيانات وان االحتياجات ليس بها تضارب ألن‬
‫المصممين يكون تركيزهم فقط علي تصميم خارطة تستوفي كل احتياجات‬
‫المستخدمين دون التفكير في طريقة التطبيق وتكون الخارطة مفهومة لدي‬
‫المستخدمين غير المتخصصين‪.‬‬
• 3rd Step: - Implementation of the database,
using a commercial DBMS:
‫ من‬Conceptual Schema ‫• في هذه الخطوة يتم تحويل الـ‬
‫ الي‬High level conceptual data Model ‫الـ‬
‫ أي الي النموذج المستخدم في‬Implementation data Model
‫ وهذا التحويل يسمي بـ‬. ‫ المختارة لتطبيق قاعدة البيانات‬DBMS ‫ال‬
Logical design ‫ أو‬Data Model Mapping
Database ( ‫• وهذه الخطوة تنتهي بإنشاء خارطة قاعدة البيانات‬
:‫ مثال لذلك‬DBMS ‫) باستخدام النموذج المستخدم في الـ‬schema
E-R model mapping to Relational Model.
‫‪• Final step:- physical design phase:‬‬
‫• أثناءهذه الخطوة يتم تحديد كل تفاصيل التخزين وذلك بتحديد‪:‬‬
‫• ‪Access paths, file organization for database file.‬‬
‫• وهذه الخطوة تنتهي بإنشاء خارطة داخلية لقاعدة البيانات‬
‫)‪(internal schema‬‬
‫• علي التوازي مع كل هذه الخطوات يتم أيضا تصميم البرامج التطبيقية‬
‫(باستخدام طرق هندسة البرمجيات) وتطبيقها كحركات لقاعدة البيانات‬
‫(‪( Database Transactions‬‬
‫‪• See figure bellow:‬‬
ENTITY RELATIONSHIP MODEL
‫نموذج الكائنات المرتبطة‬
Popular high_ level conceptual data Model , developed
by Peter Chen (1976).
-: ‫المفاهيم األساسية للنموذج‬
Entities
‫ الكائنات‬.1
Attributes
‫ الصفات‬.2
Relationships
‫ العالقات‬.3
‫• ال ‪ conceptual Schema‬تكون علي شكل‬
‫‪ Diagram‬يسمي ب ‪ E-R diagram‬ويكون ذلك‬
‫باستخدام أشكال معينة‬
‫• (‪ (page 80( ) E-R diagram Notations‬لكل‬
‫المفاهيم والقيود‪.‬‬
‫الكائنات والصفات‬
‫الكائن هو ال (‪ )Basic object‬في نموذج الكائنات‬
‫تعريف ال ‪( Entity‬الكائن) ‪ :‬وهواى شئ موجود في العالم الحقيقي وال يعتمد‬
‫وجوده علي وجود شئ أخر ‪.‬‬
‫"‪” Thing In real world with an Independent existence‬‬
‫وجود الكائن أما أن يكون فيزيائيا (‪ )physical existence‬ومثال لذلك‬
‫‪ house ، student ، person ، Car‬أو يكون مفاهيمي‬
‫(‪ )Conceptual existence‬ومثال لذلك ‪jop ، Course ، Company‬‬
‫) تستخدم لوصفه‬Attributes( ‫لكل كائن عدد من الصفات‬
)Properties to describe entity(
-: ‫مثال‬
Entity : Employee
-: ‫الصفات‬
‫ وكل صفة من هذه الصفات‬Name, SSN ,Sex , sal , address , age
-: ‫) مثال‬particular Entity( ‫) لكل كائن خاص‬Value( ‫تكون لها قيمة‬
)particular Entity( ‫هو كائن خاص‬E1
:‫قيم صفاته‬
Ali , 46 , M , 30.000 , Omdurman , 40
)Attribute Values become a major part of data in the DB)
‫أنواع الصفات )‪(Attribute types‬‬
‫الصفة الصماء( ‪: )Atomic attribute‬‬
‫صفة ال يمكن تجزئتها ألكثر من صفة ‪.‬‬
‫الصفة غير الصماء( ‪-:) Composite attribute‬‬
‫صفة يمكن تجزئتها ألكثر من صفة وكل صفة مستقلة عن االخري‬
‫وتسمى الصفات المجزئة ب)‪. ) Sub parts‬‬
‫مثال‪-:‬‬
‫‪Address‬‬
‫‪Home Address‬‬
‫‪Office Address‬‬
‫‪City‬‬
‫‪Street No‬‬
‫‪state‬‬
‫• الصفة وحيدة القيمة )‪-: ( Single Valued Attribute‬‬
‫صفة لها قيمة واحدة فقط لكل كائن خاص‪.‬‬
‫مثال ‪-:‬‬
‫الصفة ‪ Age‬في الكائن ‪ Employee‬كل ‪ Employee‬له عمر‬
‫واحد فقط ‪.‬‬
‫• الصفة متعددة القيم )‪-:( Multivalued attribute‬‬
‫صفة لها اكثر من قيمة للكائن الخاص‪.‬‬
‫مثال ‪:‬‬
‫فى الكائن ‪ Car‬الصفة ‪ color‬قد يكون لعربة معينة ( ‪particular‬‬
‫‪ )entity‬اكثر من لون‪.‬‬
‫• الصفة المركبة )‪: )complex attributes‬للقراءة من الكتاب‬
‫صفحة (‪.)65‬‬
‫• الصفة المحسوبة )‪-:(Derived attribute‬‬
‫صفة قيمتها محسوبة من صفة او (صفات) اخرى ( ‪stored‬‬
‫‪.)attribute‬‬
‫مثال ‪-:‬‬
‫)‪Derived attribute (age), stored attribute (Birth date‬‬
‫‪• Null value-:‬‬
‫• بعض الصفات قد تحمل القيمة ‪ Null‬لبعض الكائنات الخاصة‬
‫وهي تعني قيم غير معروفة او غير موجودة ‪.Null = unknown‬‬
‫مثال ‪:‬‬
‫الصفة ‪ College certificate‬لشخص ال يحمل مؤهل جامعي‬
‫تحمل القيمة ‪. Null‬‬
Entity Type
‫ مجموعة من الكائنات لها‬-:(Entity type (‫• نوع الكائن‬
.‫نفس الصفات‬
(Set or Collection of the entities that have the
same attributes)
)Entity types ( ‫• قاعدة البيانات تتكون من عدة من ال‬
.‫ يعرف باسمه وصفاته‬Entity type ‫وكل‬
Entity Type name :Attributes:-
employee
Name, age , salary
E1
company
Name, No, president
C1
Ali , 30,30000
Entity sets
(extension)
Sisco,ab60,omer
E2
C2
Ahmed,40,50000
…….
………
Nilegroup,ac360,ali
……..
……...
The collection of all entities of a particular entity type in the database at any
point in time is called an entity set.
Entity type & entity set have the same name.
E R_ Diagram Notation
‫ (علي‬E R_ DIAGRAM ‫ في ال‬Entity Type ‫• شكل‬
Entity Type . ‫شكل مستطيل) وبداخله إسم ال‬
‫ تكون علي شكل بيضاوي‬Entity Type ‫• صفات ال‬
‫متصلة معه بخطوط مستقيمة‬
age
salary
employee
name
‫أشكال انواع الصفات‬
Multivalued attribute:-
Composite attribute :
Sub parts attribute
Composite attribute name
Derived Attribute :-
‫‪Key attributes of an entity type‬‬
‫من القيود الهامة جدا للكائنات المكونة ل ‪ Entity – type‬وهو ان كل ‪Entity – type‬‬
‫له صفة تمثل صفة المفتاح ‪ Key attribute‬ولهذه الصفة قيمة مختلفة لكل كائن في ال‬
‫‪ E.T‬ويعرف هذا القيد ب )‪( Uniqueness Constraint on attributes‬‬
‫‪Key attribute In E.R Diagram:‬‬‫‪Key attribute name‬‬
‫الصفة التي تمثل صفة المفتاح يمكن ان تكون صفة واحدة (‪ )Simple Key‬او تتكون‬
‫من عدة صفات من ال ‪.)Composite Key( E.T‬‬
‫ويمكن ان يكون ل ‪ E.T‬اكثر من صفه (كل صفة علي حدا) يمكن ان تمثل صفة المفتاح ‪,‬‬
‫وقد ال يكون ل ‪ E.T‬أي صفة تمثل صفة المفتاح ويسمي في هذه الحالة بال ‪E.T‬‬
‫الضعيف (‪.)weak Entity type‬‬
Value sets (Domain)
‫ لها مجموعة من القيم التي يمكن ان تاخذها تسمى‬E.T ‫أي صفة من صفات ال‬
. ‫) لهذه الصفة‬Domain or Value sets ( ‫بالمجال‬
Value sets can’t be displayed In E-R diagram
(Value sets (Domain ) + Key ) called attribute
constraints in E-R model.