بسم الله الرحمن الرحيم
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.