أخر الاخبار

حل اسئلة امتحان قواعد البيانات قسم الحاسوب الجامعة المستنصرية نموذج رقم 1

حل اسئلة امتحان قواعد البيانات قسم الحاسوب الجامعة المستنصرية نموذج رقم 1

حل اسئلة امتحان قواعد البيانات قسم الحاسوب الجامعة المستنصرية نموذج رقم 1


 Q1) Choose the correct answer (Eight only) (16 marks).

1- A one-to-one relationship is an association in which an instance of one entity can be associated with

....... one instance of the other entity, and vice versa.

a-exactly b-no less c-at least d-at most

2- In ANSI-SPARC architecture, the __________ is a rrepresentation of the global view of the entire database.

a- external model b- internal model c- conceptual model d- physical model

3- ________: any attribute that is part of a key

a- Foreign key b- Primary key c- A key attribute d- Secondary key

4- A DBMS is .......... provided by the database vendor.

a-spyware b-freeware c-software d-hardware

5- When developers perform a SELECT command, they actually use a _______ command.

a- DML b- SQL c- DDL d-None of these

6- _________ is a multiple user at a time. Could be a database for a department.

a- Single user system b- Multiuser system c- Enterprise system d- Transaction database

7- SQLServer is an example of:

a- DB b-DBMS c- DBA d- DA

8- An example of a one-to-one relationship is __________.

a- Dean and College b- Professor and Class c- Bank and Customer d-Employee and Skill

9- The Network Model is a collection of records in _______ relationships.

a- 1:M b- M:N c- 1:1 d- M:1

10- An example of the recursive relationship is:

a- Professor teaches Class b- Director directs Play c- Employee manages Employee d- Manager

manages Store


Q2) Answer A or B (7 marks):

A- Define the following:-


1-DB Object: A database object is any named entity that holds or manipulates data within a database system. This can include tables, views, indexes, stored procedures, functions, triggers, and users. Each object has a specific purpose and interacts with others to manage and access data.

كائن قاعدة البيانات: كائن قاعدة البيانات هو أي كيان مسمى يحتفظ بالبيانات أو يعالجها داخل نظام قاعدة البيانات. يمكن أن يشمل ذلك الجداول وطرق العرض والفهارس والإجراءات المخزنة والوظائف والمشغلات والمستخدمين. كل كائن له غرض محدد ويتفاعل مع الآخرين لإدارة البيانات والوصول إليها.



2-DB Layers: A database system typically consists of multiple layers that abstract the complexity of data storage and retrieval. Common layers include:
Internal Model (Physical Model): Defines how data is physically stored on the storage devices, including file organization, data structures, and access methods.
Conceptual Model: Represents the logical structure of the data, focusing on entities, attributes, and relationships between them, independent of storage details.
External Model (User View): Provides a simplified view of the data tailored to the specific needs of different user groups (e.g., application developers, analysts).

طبقات قاعدة البيانات: يتكون نظام قاعدة البيانات عادةً من طبقات متعددة تلخص تعقيد تخزين البيانات واسترجاعها. تشمل الطبقات الشائعة ما يلي:


النموذج الداخلي (النموذج المادي): يحدد كيفية تخزين البيانات فعليًا على أجهزة التخزين، بما في ذلك تنظيم الملفات وهياكل البيانات وطرق الوصول.
النموذج المفاهيمي: يمثل البنية المنطقية للبيانات، مع التركيز على الكيانات والسمات والعلاقات فيما بينها، بغض النظر عن تفاصيل التخزين.
النموذج الخارجي (عرض المستخدم): يوفر عرضًا مبسطًا للبيانات المصممة خصيصًا لتلبية الاحتياجات المحددة لمجموعات المستخدمين المختلفة (مثل مطوري التطبيقات والمحللين).


3-User Views: A user view is a virtual table that presents a subset of data from one or more underlying tables. It allows users to see a simplified or customized version of the data, hiding the complexity of the underlying structure and protecting sensitive information.

طرق عرض المستخدم: طريقة عرض المستخدم عبارة عن جدول افتراضي يقدم مجموعة فرعية من البيانات من جدول أساسي واحد أو أكثر. فهو يسمح للمستخدمين برؤية نسخة مبسطة أو مخصصة من البيانات، مما يؤدي إلى إخفاء تعقيد البنية الأساسية وحماية المعلومات الحساسة.

4-Metadata: Metadata is data about data. It provides information that describes the structure, content, usage, and characteristics of data objects within a database. Metadata helps users understand, manage, and access data effectively. Examples include table schema definitions, column data types, constraints, and user permissions.

البيانات الوصفية: البيانات الوصفية هي بيانات حول البيانات. فهو يوفر معلومات تصف بنية كائنات البيانات ومحتواها واستخدامها وخصائصها داخل قاعدة البيانات. تساعد البيانات التعريفية المستخدمين على فهم البيانات وإدارتها والوصول إليها بشكل فعال. تتضمن الأمثلة تعريفات مخطط الجدول وأنواع بيانات الأعمدة والقيود وأذونات المستخدم.


5-Key Concepts: In the context of databases, several key concepts are fundamental:
Entity: A real-world object or concept that you want to represent in the database (e.g., customer, product, order).
Attribute: A characteristic or property of an entity (e.g., customer name, product price, order date).
Relationship: An association between entities (e.g., a customer places an order, a product belongs to a category).
Normalization: A process of organizing data in tables to minimize redundancy and improve data integrity.

المفاهيم الأساسية: في سياق قواعد البيانات، هناك عدة مفاهيم أساسية أساسية:


الكيان: كائن أو مفهوم من العالم الحقيقي تريد تمثيله في قاعدة البيانات (على سبيل المثال، العميل أو المنتج أو الطلب).
السمة: سمة أو خاصية لكيان ما (على سبيل المثال، اسم العميل، سعر المنتج، تاريخ الطلب).
العلاقة: ارتباط بين الكيانات (على سبيل المثال، يقدم العميل طلبًا، وينتمي المنتج إلى فئة ما).
التطبيع: عملية تنظيم البيانات في الجداول لتقليل التكرار وتحسين سلامة البيانات.


6-DB Models: A database model is a blueprint or logical structure that defines how data is organized within a database. It represents the entities, attributes, relationships, and constraints that govern the data. Common database models include:
Relational Model: Organizes data into tables with rows and columns, with relationships established through foreign keys.
Entity-Relationship Model (ER Model): A graphical representation of entities, attributes, and relationships, used for conceptual database design.
Object-Oriented Model: Represents data as objects with attributes and methods, similar to object-oriented programming concepts.

نماذج قاعدة البيانات: نموذج قاعدة البيانات عبارة عن مخطط أو بنية منطقية تحدد كيفية تنظيم البيانات داخل قاعدة البيانات. وهو يمثل الكيانات والسمات والعلاقات والقيود التي تحكم البيانات. تتضمن نماذج قواعد البيانات الشائعة ما يلي:

النموذج العلائقي: ينظم البيانات في جداول تحتوي على صفوف وأعمدة، مع إنشاء علاقات من خلال مفاتيح خارجية.
نموذج علاقة الكيان (نموذج ER): تمثيل رسومي للكيانات والسمات والعلاقات المستخدمة لتصميم قاعدة البيانات المفاهيمية.
النموذج كائني التوجه: يمثل البيانات ككائنات ذات سمات وأساليب، مشابهة لمفاهيم البرمجة كائنية التوجه.


7-Relationships: Relationships define how data in different tables are connected. They allow you to model real-world associations between entities. Common types of relationships include:
One-to-One (1:1): One instance in one table is associated with exactly one instance in another table (e.g., a student has one ID number).
One-to-Many (1:M): One instance in one table is associated with many instances in another table (e.g., a customer can place many orders).
Many-to-Many (M:N): Many instances in one table can be associated with many instances in another table (e.g., students can enroll in many courses, and courses can have many students).

العلاقات: تحدد العلاقات كيفية ربط البيانات في الجداول المختلفة. إنها تسمح لك بنمذجة الارتباطات الواقعية بين الكيانات. تشمل الأنواع الشائعة من العلاقات ما يلي:

واحد لواحد (1:1): يرتبط مثيل واحد في جدول واحد بمثيل واحد بالضبط في جدول آخر (على سبيل المثال، لدى الطالب رقم معرف واحد).
واحد إلى متعدد (1:M): يرتبط مثيل واحد في جدول واحد بالعديد من المثيلات في جدول آخر (على سبيل المثال، يمكن للعميل تقديم العديد من الطلبات).
متعدد إلى متعدد (M:N): يمكن ربط العديد من المثيلات في جدول واحد بالعديد من المثيلات في جدول آخر (على سبيل المثال، يمكن للطلاب التسجيل في العديد من الدورات التدريبية، ويمكن أن تضم الدورات التدريبية العديد من الطلاب).


B- What is the benefit of physical data independence? explain with examples.

Sol//

Benefit 1: Easier Upgrades and Changes
Imagine you have a database storing customer information on a traditional hard drive (physical storage). With physical data independence, changes to the storage mechanism (e.g., migrating to a solid-state drive) won't affect how users access or interact with the data. The logical structure (tables, views) remains the same.

Example: An e-commerce platform stores customer data on a hard drive. They decide to upgrade to a faster solid-state drive (SSD) for improved performance. Physical data independence ensures the application code continues to work seamlessly with the customer data, regardless of the underlying storage technology.

الفائدة 1: ترقيات وتغييرات أسهل
تخيل أن لديك قاعدة بيانات تخزن معلومات العملاء على محرك أقراص ثابت تقليدي (التخزين الفعلي). مع استقلالية البيانات الفعلية، لن تؤثر التغييرات في آلية التخزين (على سبيل المثال، الترحيل إلى محرك أقراص الحالة الصلبة) على كيفية وصول المستخدمين إلى البيانات أو تفاعلهم معها. يظل الهيكل المنطقي (الجداول وطرق العرض) كما هو.

مثال: تقوم إحدى منصات التجارة الإلكترونية بتخزين بيانات العملاء على محرك أقراص ثابت. قرروا الترقية إلى محرك أقراص ذي حالة صلبة (SSD) أسرع لتحسين الأداء. ويضمن استقلال البيانات المادية استمرار رمز التطبيق في العمل بسلاسة مع بيانات العميل، بغض النظر عن تقنية التخزين الأساسية.

Benefit 2: Improved Scalability
As your data volume grows, you might need to scale your storage infrastructure. Physical data independence allows you to adjust storage aspects (e.g., adding more disks) without modifying the application logic or user views.

Example: A social media application experiences a surge in user base, leading to more data storage requirements. With physical data independence, the database administrator can add additional storage devices without rewriting application code or impacting user experience.

الفائدة 2: تحسين قابلية التوسع
مع نمو حجم بياناتك، قد تحتاج إلى توسيع نطاق البنية الأساسية للتخزين لديك. يتيح لك استقلال البيانات الفعلية ضبط جوانب التخزين (على سبيل المثال، إضافة المزيد من الأقراص) دون تعديل منطق التطبيق أو طرق عرض المستخدم.

مثال: يواجه أحد تطبيقات الوسائط الاجتماعية طفرة في قاعدة المستخدمين، مما يؤدي إلى المزيد من متطلبات تخزين البيانات. من خلال استقلالية البيانات الفعلية، يمكن لمسؤول قاعدة البيانات إضافة أجهزة تخزين إضافية دون إعادة كتابة رمز التطبيق أو التأثير على تجربة المستخدم.

Benefit 3: Reduced Development and Maintenance Costs
Because application code doesn't need to be changed for physical storage modifications, development and maintenance become easier. This translates to cost savings and faster development cycles.

Example: A company develops a financial application that relies on a database. Physical data independence allows them to modify the storage backend (e.g., changing data compression algorithms) without affecting the application code, saving development time and resources.

الفائدة 3: انخفاض تكاليف التطوير والصيانة
نظرًا لأن رمز التطبيق لا يحتاج إلى التغيير لإجراء تعديلات على التخزين الفعلي، يصبح التطوير والصيانة أسهل. وهذا يترجم إلى توفير في التكاليف ودورات تطوير أسرع.

مثال: تقوم إحدى الشركات بتطوير تطبيق مالي يعتمد على قاعدة بيانات. يسمح لهم استقلال البيانات المادية بتعديل الواجهة الخلفية للتخزين (على سبيل المثال، تغيير خوارزميات ضغط البيانات) دون التأثير على كود التطبيق، مما يوفر وقت التطوير والموارد.




Q3) Consider the following scenario (7 marks):
In a university department, each STUDENT can take many CLASSes and Each CLASS can have many STUDENTs.
- Identify the type of the relationships between the mentioned entities.
- Based on your knowledge, how this relationship could be implemented?
- Create a relational diagram to illustrate the relationships between all related entities
Sol//

Relationship Type: The relationship between STUDENTS and CLASSES in this scenario is a Many-to-Many (M:N) relationship.

Implementation: This relationship can be implemented using an associative entity table. Here's why:

  • A simple one-to-many relationship between STUDENTS and CLASSES wouldn't capture the complete picture. A student can take multiple classes, and a class can have multiple students.
  • Directly adding a list of CLASS IDs to the STUDENT table or vice versa would lead to data redundancy and difficulty in managing enrollments.

Relational Diagram:

         STUDENT (SID, Name, Major, ...)
         |           |
         |           v (Many-to-Many)
         |
         ---------------------
         |       ENROLLMENT      |
         |       (SID, CID)       |
         |           |
         |           v (Many-to-Many)
         |
         CLASS (CID, Name, Instructor, ...)

This diagram shows three tables:

  • STUDENT: Stores student information like ID, name, major, etc. (SID is the primary key).
  • CLASS: Stores class information like ID, name, instructor, etc. (CID is the primary key).
  • ENROLLMENT: This is the associative entity table. It has two foreign keys:
    • SID (Student ID): References the primary key of the STUDENT table.
    • CID (Class ID): References the primary key of the CLASS table.

The ENROLLMENT table doesn't need a separate primary key because the combination of SID and CID uniquely identifies an enrollment record. This design allows you to efficiently manage student enrollments in a many-to-many relationship.

لا يحتاج جدول التسجيل إلى مفتاح أساسي منفصل لأن مجموعة SID وCID تحدد سجل التسجيل بشكل فريد. يتيح لك هذا التصميم إدارة عمليات تسجيل الطلاب بكفاءة في علاقة متعدد بمتعدد.



Q4) Answer  (7 marks):

- Consider the STUDENT and PROFESSOR tables that are shown below:
A- Consider the STUDENT and PROFESSOR tables that are shown below:



- Identify the foreign and primary key for each table.
- Create a table that results from applying a SELECT relational algebra to display the codes students
and their professors of all students who are in the DEPT that has the CODE = “6”

Sol//

Primary and Foreign Keys:

  • STUDENT table:
    • Primary Key: STU_CODE (assuming this is a unique identifier for students)
    • Foreign Key: None (based on the information provided)
  • PROFESSOR table:
    • Primary Key: PROF_CODE (assuming this is a unique identifier for professors)
    • Foreign Key: None (based on the information provided)

Finding Students and Professors (DEPT CODE = 6):

SQL
SELECT s.STU_CODE, p.PROF_CODE
FROM STUDENT s
INNER JOIN DEPARTMENT d ON s.DEPT_CODE = d.DEPT_CODE  
INNER JOIN PROFESSOR p ON p.DEPT_CODE = d.DEPT_CODE  
WHERE d.DEPT_CODE = 6;

This query uses JOIN operations to connect the tables:

  1. INNER JOIN STUDENT and DEPARTMENT: Matches students (s) with their departments (d) based on matching DEPT_CODE values.
  2. INNER JOIN PROFESSOR and DEPARTMENT: Matches professors (p) with their departments (d) based on matching DEPT_CODE values.
  3. WHERE Clause: Filters the results to include only departments with DEPT_CODE = 6.







الأسئلة الشائعة


1. ما هي قاعدة البيانات؟
قاعدة البيانات هي مجموعة من البيانات المنظمة بطريقة معينة تتيح للمستخدمين تخزين واسترجاع البيانات بكفاءة.
2. ما هي أنواع قواعد البيانات؟
هناك عدة أنواع من قواعد البيانات، بما في ذلك قواعد البيانات العلائقية (مثل MySQL و PostgreSQL) وقواعد البيانات غير العلائقية (مثل MongoDB و Cassandra)..
3. ما هو نموذج البيانات؟
نموذج البيانات هو الطريقة التي يتم فيها تنظيم البيانات في قاعدة البيانات، مثل نموذج البيانات العلائقية (مثل الجداول) ونموذج البيانات غير العلائقية (مثل الوثائق والرسوم البيانية).
4. ما هو الفرق بين SQL و NoSQL؟
SQL تشير إلى لغة استعلام قواعد البيانات المهيكلة (Structured Query Language) المستخدمة في قواعد البيانات العلائقية، في حين تشير NoSQL إلى قواعد البيانات غير العلائقية التي لا تتبع نموذج البيانات العلائقية التقليدي.
5. ما هي ميزات قواعد البيانات العلائقية؟
قواعد البيانات العلائقية توفر تنظيمًا هيكليًا للبيانات باستخدام الجداول والعلاقات، وتوفر قدرة قوية على التعامل مع البيانات المترابطة والمتعددة البعد.
6. ما هي ميزات قواعد البيانات غير العلائقية؟
قواعد البيانات غير العلائقية توفر مرونة أكبر في تخزين البيانات غير المهيكلة، مثل الوثائق والرسوم البيانية، وتتيح استيعاب كميات كبيرة من البيانات والتعامل معها بكفاءة.
6. ما هي ميزات قواعد البيانات غير العلائقية؟
قواعد البيانات غير العلائقية توفر مرونة أكبر في تخزين البيانات غير المهيكلة، مثل الوثائق والرسوم البيانية، وتتيح استيعاب كميات كبيرة من البيانات والتعامل معها بكفاءة.
7-ما هي العمليات الأساسية في قاعدة البيانات؟
العمليات الأساسية تشمل الإضافة (INSERT)، الاستعلام (SELECT)، التحديث (UPDATE)، والحذف (DELETE)، بالإضافة إلى العمليات الإدارية مثل إنشاء وحذف الجداول وإدارة الصلاحيات.
8. ما هو نموذج تصميم قاعدة البيانات؟
نموذج تصميم قاعدة البيانات هو التخطيط الذي يحدد كيفية تنظيم البيانات وتحديد العلاقات بينها، ويشمل تصميم الجداول وتحديد المفاتيح وتحديد العلاقات.
9. ما هي التقنيات المستخدمة في تحسين أداء قواعد البيانات؟
يشمل تحسين أداء قواعد البيانات استخدام فهارس (Indexes)، وتجنب الاستعلامات الضخمة (Query Optimization)، وتجنب الاقتران (Normalization)، وتوزيع البيانات (Data Sharding)، واستخدام التخزين المؤقت (Caching).
10. ما هو التكرار البياني؟
التكرار البياني يحدث عندما يتم تكرار تخزين نفس البيانات في أماكن متعددة في قاعدة البيانات، مما يؤدي إلى زيادة الحجم وتعقيد الصيانة وزيادة احتمالية الأخطاء.
تعليقات



حجم الخط
+
16
-
تباعد السطور
+
2
-