Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Chapter ONE

(Databases and Database Users)


Chapter content:
1) Types of Databases and Database Applications
2) Basic Definitions
3) Typical DBMS Functionality
4) Example of a Database (UNIVERSITY)
5) Main Characteristics of the Database Approach
6) Database Users
7) Advantages of Using the Database Approach
8) When Not to Use Databases
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

1) Introduction:
Almost all our life activities involve someone or some computer program accessing a
database. For example:
 Traditional database applications in which most of the information that is stored
and accessed is either textual or numeric. Such as the database that holds the
inventory of grocery items.
 Big data database systems of NOSQL systems that store nontraditional data, such
as posts, tweets, images, and video clips.
 Multimedia databases that store images, audio clips, and video streams digitally.
 Geographic information systems (GISs) can store and analyze maps, weather data,
and satellite images.
 Data warehouses and online analytical processing (OLAP) systems are used in
many companies to extract and analyze useful business information from very large
databases to support decision making.
 Real-time and active database technology is used to control industrial and
manufacturing processes.
.‫ح‬à ‫ﻄﺔ وﻣﺶ ﻣﺤﺘﺎﺟﺔ‬9‫ ﻣﺠﺮد ﻣﻘﺪﻣﺔ ;ﺴ‬... ‫ﺎﻧﺎت واﺳﺘﺨﺪاﻣﺎﺗﻬﺎ‬9‫ﺪﻳﻨﺎ ﻓﻜﺮة ﻋﻦ أﻧﻮاع ﻗﻮاﻋﺪ اﻟﺒ‬9‫ﻫﻨﺎ ;ﺲ ﺑ‬
––––––––––––––––––––––––––––––––––––––––
What is database and what is data?

A Database, simply, is a collection of related data. And by data, we mean known facts
that can be recorded and that have implicit meaning. For example, consider the names,
telephone numbers, and addresses.

Page 1 of 40
The database and the miniworld:
The previous meaning of database is general meaning, but the actual meaning of the term
is usually more restricted.

A database has the following implicit properties:


 The database represents some aspect of the real world which is called the
MINIWORLD. Changes to the miniworld are reflected in the database.

 A database is a logically coherent collection of data with some inherent meaning.

 A database is designed, built, and populated with data for a specific purpose. It has
an intended group of users and some preconceived applications in which these
users are interested.
‫ﻘﺼﺪ‬k ‫ﻌﺾ واﻟﺪاﺗﺎ‬g‫ﺎرة ﻋﻦ ﺗﺠﻤﻴﻊ ﻣﻌﻠﻮﻣﺎت ﻟﻴﻬﺎ ﻋﻼﻗﺔ ﺑ‬g‫ ﻋ‬i
h ‫ﺎﻧﺎت‬9‫ او ﻗﺎﻋﺪة اﻟﺒ‬database‫ﻘﻮل ان ال‬9‫ﻟﺤﺪ ﻫﻨﺎ ﺑ‬
} ‫ﺴﺠﻞ وﻟﻴﻬﺎ‬€‫ او اﻟﺤﻘﺎﺋﻖ اﻟ‚ ﻳﻨﻔﻊ ﺗ‬facts‫ﺑﻴﻬﺎ ال‬
‫ ذي ﻣﺜﻼ اﺳﻢ اﻟﻄﺎﻟﺐ وﺳﻨﻪ‬... ‫ﻣﻌ~ واﺿﺢ‬

‫ﺴﺘﺨﺪﻣﻬﺎ ﻋﺸﺎن ﻧﻌﺮف ﺣﺎﺟﺔ‬Ž‫ ﺑ‬database ‫ﻠﻤﺔ‬ƒ ‫ وﻟ„ﻦ‬... ‫ ﺗﻌˆ‡ﻒ ﻋﺎم‬،‫ﺎﻧﺎت‬9‫ﻘﻮل ان اﻟﺘﻌˆ‡ﻒ دە ﻟﻘﺎﻋﺪة اﻟﺒ‬9‫ﻟ„ﻦ ﺑ‬
™“ ‫ﻣﻌ” او ﺻﻐ‬ }
} “ ‫ﺴﺘﺨﺪﻣﻬﺎ ﻓﻘﻂ ﻋﺸﺎن ﻧﺘ—ﻠﻢ ﻋﻦ ﺟﺰء‬Ž‫ ﺑ‬database ‫ﻠﻤﺔ‬ƒ ‫•ﻤﻌ~ ان‬ }
... ‫ﻪ‬k‫•ﻤﻌ~ ا‬ .... •‫•ﻤﻔﻬﻮم ﻣﺨﺘ‬
› } ... miniworld‫ﻪ ال‬9‫ﺴﻤ‬Ž‫ ﺑ‬real world‫ﻣﻦ ال‬
‫ ﻣﺠﻤﻮﻋﺔ‬œg‫ ﻳ‬world ‫ﺎرة ﻋﻦ‬g‫ﻌ~ ﻣﺜﻼ ﻟﻮ ﻗﻮﻟﺖ ان اﻟﺠﺎﻣﻌﺔ ﻣﺜﻼ ﻋ‬k
}
‚‫ﻨﻌﻜﺲ ﻋ‬Ÿ‫ دە ﺑ‬miniworld‫ ال‬žh ™‫ﺗﻐ‬ “ ‫ واي‬... ‫ ﺑﺮﺿﻮ وﻫﻜﺬا‬miniworld ‫ﺎﺗﺮة اﻟﺠﺎﻣﻌﺔ‬ƒ‫ ود‬miniworld ‫اﻟﻄﺎﻟﺐ‬
.‫ﺎﻧﺎت‬9‫ﻗﺎﻋﺪة اﻟﺒ‬
} logically coherent ‫ﻜﻮن ﻓﻴﻬﺎ ﻣﻌﻠﻮﻣﺎت ﺗﻜﻮن‬k ‫ﺎﻧﺎت ﻻزم‬9‫ﻘﻮل ان ﻗﺎﻋﺪة اﻟﺒ‬9¢‫و‬
‫ﺔ‬9‫ﻌ~ ﺗﻜﻮن ﻟﻴﻬﺎ ﻋﻼﻗﺔ ﻣﻨﻄﻘ‬k
} “ ‫ﺎﻧﺎت ﻟﻤﺎ ﺗﻌﻤﻠﻬﺎ ﻻزم ﺗﻜﻮن ﻋﺎﻣﻠﻬﺎ ﻟﻐﺮض‬9‫ﻨﻘﻮل ﺑﺮﺿﻮ ان ﻗﺎﻋﺪة اﻟﺒ‬¢‫ و‬.‫ﺎﻣﻦ‬ƒ ~‫ﻣﻌ‬
‫ﺴﺘﺨﺪم‬€‫ﻣﻌ” وﻫ‬ }
} ¤‫ﺪو‬9¢‫و‬ ‫ﻌﻀﻬﺎ‬g‫ﺑ‬
h }
} }
‫ﻪ ﻗﺎﻋﺪة‬9‫ﻌ~ ﻣﺜﻼ ﻣﻮﻗﻊ اﻻﻣﺎزون ﻓ‬k ... ”‫اﻟﻤﺴﺘﺨﺪﻣ‬
“ ‫ﺴﺘﺨﺪﻣﻬﺎ ﻣﺠﻤﻮﻋﺔ ﻣﻌﻴﻨﺔ ﻣﻦ‬€‫ﻘﺎت ﻣﻌﻴﻨﺔ واﻟ‚ ﻫﻴ‬9‫ ﺗﻄﺒ‬žh
‫ﻌﻮﻫﺎ ﻣﺜﻼ ﻣﻦ ﻛﺘﺐ وﺧﻼﻓﻪ واﻧﻬﺎ ¦ﺴﺠﻞ‬gŸ‫ﻣﻌ” وﻫﻮ اﻧﻬﺎ ﺗﺨﺰن اﻟﺤﺎﺟﺎت اﻟ‚ ﺑ‬ } “ ‫ﻌﺎ وﻣﻌﻤﻮﻟﺔ ﻟﻐﺮض‬g‫ﺎﻧﺎت ﺿﺨﻤﺔ ﻃ‬9‫ﺑ‬
}“
.‫ﻌﺎ‬g‫ﻣﺴﺘﺨﺪﻣ” ﻃ‬ ‫ﻪ‬9‫اء وﻛﺪا وﻟ‬ª̀‫ﺎت اﻟﺒﻴﻊ واﻟ‬9‫ﻋﻤﻠ‬
Database Management System (DBMS):
A database can be generated and maintained manually or it me computerized by the
DBMS

The DBMS A software package/ system to facilitate the creation and maintenance of a
computerized database.

The DBMS is a general-purpose software system that facilitates the processes of defining,
constructing, manipulating, and sharing databases among various users and applications.

‫ﻪ‬9‫ﻘﺼﺪ ﺑ‬k database management system ‫ﺎﻧﺎت ﻣﻤﻜﻦ ﺗﻌﻤﻠﻬﺎ ﻣﺎﻧﻮل او •ﺎﺳﺘﺨﺪام‬9‫ﻘﻮل ان ﻗﺎﻋﺪة اﻟﺒ‬9‫ﻫﻨﺎ ﺑ‬
‫ﻠﻬﺎ‬ƒ database function‫ﻞ ال‬ƒ ‫ وﻣﻦ ﺧﻼﻟﻪ ﺑﺘﻘﺪر ﺗﻌﻤﻞ‬oracle‫ وال‬SQL‫ﺎﻧﺎت ذي ال‬9‫ﻌﻤﻞ ﻗﺎﻋﺪة اﻟﺒ‬9‫ﺑﺮﻧﺎﻣﺞ ﺑ‬

.~‫دﻟﻮﻗ‬ ‫ﺸﻮﻓﻬﺎ‬Ž‫اﻟ‚ ﻫ‬

Page 2 of 40
DBMS Functions:

1) Defining a database:
Defining a database involves specifying the data types, structures, and constraints of the
data to be stored in the database. The database definition or descriptive information is
also stored by the DBMS in the form of a database catalog or dictionary; it is called meta-
data (Meta data = data about data).

... ‫ﺎﻧﺎت‬9‫ ﺗﻌˆ‡ﻒ ﻗﺎﻋﺪة اﻟﺒ‬i }


h ‫ﻘﻮﻟﻬﺎ‬9‫ او ﺣﺎﺟﺔ ﺑ‬... ‫ﺎﻧﺎت‬9‫ ﻗﺎﻋﺪة اﻟﺒ‬žh ‫ﺎت اﻟ‚ ﺑﻨﻘﺪر ﻧﻌﻤﻠﻬﺎ‬9‫ﻪ اﻟﻌﻤﻠ‬k‫ﺪا ﻳﻮﺿﺢ ا‬g‫ﻫﻴ‬
‫ﻜﻮن ﻣﺘﺨﺰن‬9‫وﺣ~ وﺻﻒ او ﺗﻌˆ‡ﻒ اﻟﺪاﺗﺎ ﻧﻔﺴﻬﺎ ﺑ‬ › ‫ﺎﻧﺎت وﺗˆ‡ﺒﻬﺎ واﻟﻘﻴﻮد اﻟ‚ ﻋﻠﻴﻬﺎ‬9‫ع اﻟﺒ‬±‫ ﺗﻌˆ‡ﻒ ﻧ‬... ‫ﻪ‬k‫ﻘﺼﺪ ﺑﻴﻬﺎ ا‬k
}
‫ وﺗﻌˆ‡ﻔﻬﺎ‬meta data ‫ اﻟﻤﻌﻠﻮﻣﺎت اﻟ‚ ﺑﻨﺠﻤﻌﻬﺎ ﻋﻦ اﻟﺪاﺗﺎ •ﺎﺳﻢ‬²‫ﺴ‬Ž¢‫ج او ﻗﺎﻣﻮس و‬±‫ ﺻﻮرة ﻛﺘﺎﻟ‬žh DBNS‫ﻋ‚ ال‬
‫ﺐ اﻻﻋﻤﺪة‬9‫ﺴﺎل ﻃ‬€‫ﻌ~ ﻣﺜﻼ ﻟﻮ ﻗﻮﻟﺘﻠﻚ اﻧﺖ ﻫﺘﻌﻤﻞ ﺟﺪول ﻟﻠﻄﻼب ﻫ‬k } .... ‫ﻪ‬k‫ﻌ~ ا‬k
} ... data about data ‫ﻫﻮ‬
}
data‫ اﻻﺳﻢ واﻟﺴﻦ دول ﻫﻤﺎ ال‬... ‫ﻜﻦ ﻗﻮﻟﺖ اﻻﺳﻢ واﻟﺴﻦ‬9‫ وﻟ‬attributes ‫ﻪ ودي ;ﺴﻤﻴﻬﺎ‬k‫ اﻟﺠﺪول ا‬žh ‫اﻟ‚ ﻫﺪﻓﻬﺎ‬

œg‫ﻫﻴ‬ ‫ﺎم ﺣﺮف وﻫﻞ‬ƒ ‫ﻌ~ ﻣﺜﻼ اﻻﺳﻢ ﻃﻮﻟﻪ‬k } .... ~‫ﻌ‬k
} ‫ اذاي‬...ID‫ﻟ„ﻦ ﻻزم ﺗﻌﺮف ﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻻﺳﻢ واﻟﺴﻦ وال‬
double‫ وﻻ‬integer œg‫ﻳ‬ › ‫ ﻻزم‬ID‫ وال‬NULL œg‫ﻳ‬ › ‫ ﻫﺘﻌﺮف اﻧﻪ رﻗﻢ ﻣﺜﻼ وﻣﻴﻨﻔﻌﺶ‬... ‫ واﻟﺴﻦ ﻛﺬﻟﻚ‬... ‫ وﻻ ﻻ‬NULL
meta ‫ دي ال‬i
}ž ‫ﻪ‬k‫ﺐ ﺷ—ﻠﻬﺎ ا‬9‫ﻃ‬h ID‫ﻞ اﻟﻤﻌﻠﻮﻣﺎت اﻟﺠﻤﻌﺘﻬﺎ ﻋﻦ اﻻﺳﻢ واﻟﺴﻦ وال‬ƒ ... ‫ وﺧﻼﻓﻪ‬primarykey }
‫ارﻗﺎم ﻣﺜﻼ و‡ﻜﻮن‬
› ‫ وﻻزم‬data
h .... ‫ﻞ اﻟﺪاﺗﺎ اﻟ‚ ﻫﺘﺪﺧﻠﻬﺎ‬ƒ ‚‫ﻘﺪر ﻳﺘﻌﺮف ﻋ‬k ‫ ﻋﺸﺎن‬DBMS‫ ال‬žh ‫ ﻣﺘﺨﺰﻧﺔ‬œg‫ﺗ‬
.‫ﺔ‬k‫ ﻫﺘﻌﺮﻓﻪ ﻟﻤﺎ ¦ﺸﻮف اﻟﺼﻮرة اﻟﺠﺎ‬... DBMS‫ال‬

2) Constructing the database


Constructing the database is the process of storing the data on some storage medium
that is controlled by the DBMS.

‫ﻓﺮ او أي ﻫﺎرد د¸ﺴﻚ‬a ‚‫ﺘﺨﺰﻧﻬﺎ ﻋ‬¢‫ اﻟﻤﺮﺣﻠﺔ اﻟ‚ ﺑﺘﻌﻤﻠﻬﺎ ﻓﻌﻼ و‬i
h ‫ﺎﻧﺎت‬9‫ﺸﺎء ﻗﺎﻋﺪة اﻟﺒ‬¹‫ او ا‬constructing‫ال‬
.‫ﺎ‬9‫وﺗﺨﺰن ﻓﻴﻬﺎ داﺗﺎ ﻓﻌﻠ‬
3) Manipulating a database
Manipulating a database includes functions such as:
 Retrieval: Querying the database to retrieve specific data, generating reports
 Updating the database to reflect changes in the miniworld: Insertions, deletions
and updates to its content
 Accessing the database through Web applications

Page 3 of 40
› i ¼‫ اﻷو‬... ‫ﺎ‬g‡ˆ‫ﺎت ﺗﻘ‬9‫ ﻋﻤﻠ‬٣ ‫ﺸﺎء ودي ﻓﻴﻬﺎ •ﻌﺾ‬¹‫ﺎﻧﺎت •ﻌﺪ اﻻ‬9‫ودي ﻣﺮﺣﻠﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة اﻟﺒ‬
‫اﺳ™ﺟﺎع‬ h }
‫ ﻣﻦ‬miniworld‫ ال‬žh ‫ﻟﻠﺘﻐ™ات اﻟ‚ ﺣﺼﻠﺖ‬
“ ‫ﻘﺎ‬g‫ﺔ وﺗﺤﺪﻳﺜﻬﺎ ﻃ‬9‫ﺸﺎء اﻟﺘﻘﺎر‡ﺮ واﻟﺘﺎﻧ‬¹‫ﺎﻧﺎت وا‬9‫اﻟﻤﻌﻠﻮﻣﺎت ﻣﻦ ﻗﺎﻋﺪة اﻟﺒ‬
.‫ﺎﻧﺎت‬9‫ او اﻟﺪﺧﻮل ﻋ‚ ﻗﺎﻋﺪة اﻟﺒ‬accessing‫ ال‬i h ‫ﺚ واﻟﺘﺎﻟﺘﺔ‬k‫ادﺧﺎل وﺣﺬف وﺗﺤﺪ‬
4) Sharing a database
Sharing a database allows multiple users and programs to access the database
simultaneously through and application program.

An application program accesses the database by sending queries or requests for data to
the DBMS. A query typically causes some data to be retrieved; a transaction may cause
some data to be read and some data to be written into the database.
› ‫ﻘﺼﺪ ﺑﻴﻬﺎ اﻧﻬﺎ‬k ‫ ﻟ„ﻦ‬... ‫ﺲ ﻣﺜﻼ‬À‫ﻘﺼﺪش ﺑﻴﻬﺎ اﻧﻪ ¸ﺸ™ﻫﺎ ﻋ‚ اﻟﻔ‬9‫ ﻣ‬sharing databae ‫ﻠﻤﺔ‬ƒ
‫ ﻣﺘﺎﺣﺔ‬œg‫ﺗ‬ “
› } } }“
à ... ”‫ﻣﻌ‬
‫ﻮاد ﺑﺘﻘﺪر ¦ﺴ™ﺟﻊ‬Â‫ﻪ ا‬9‫ﻜﻮن ﻓ‬9‫اﻟ™ﻧﺎﻣﺞ دە ﺑ‬ “ ‫ اﺳﺘﺨﺪاﻣﻬﺎ ﻣﻦ ﺧﻼل ﺑﺮﻧﺎﻣﺞ‬žh ‫ﺸﺎرﻛﻮ‬€‫ﻛﺘ™ ﻳ‬
“ ”‫ﻟﻤﺴﺘﺨﺪﻣ‬
‫ﺎﻧﺎت‬9‫اﻟﻤﻌﻠﻮﻣﺎت ﻣﻦ ﻗﺎﻋﺪة اﻟﺒ‬

‫ﺘﻌﻤﻞ‬¢‫ﺎرة ﻋﻦ ﺟﻤﻠﺔ واﺣﺪة و‬g‫ ﻋ‬i } “ query‫ﺑ” ال‬


query‫ ال‬... transaction‫” ال‬¢‫و‬ } “ ‫ﻪ اﻟﻔﺮق‬k‫;ﺲ ﻻزم ﻧﻌﺮف ا‬
h
› ‫ﺎﻧﺎت ﻓﻘﻂ‬9‫ﺚ ﻟﻘﺎﻋﺪة اﻟﺒ‬k‫ﺖ ﺟﻤﻠﺔ واﺣﺪة ﻓﻘﻂ ﺑﺘﻌﻤﻞ ﺗﺤﺪ‬g‫ﻌ~ ﻣﺜﻼ ﻟﻮ ﻛﺘ‬k
‫ دي اﺳﻤﻬﺎ‬œg‫ﻓﻴ‬ } ... ‫ﺔ واﺣﺪة‬9‫ﻋﻤﻠ‬
‫ او ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺠﻤﻠﺔ اﻟ‚ ﺑﺘﻌﻤﻞ ﻣﺠﻤﻮﻋﺔ ﻣﻦ‬queries‫ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ال‬œg€‫ﺑ‬ › transaction‫ ﻟ„ﻦ ال‬query
} ... ‫ﻠﻬﺎ‬ƒ ‫ﻠﻬﺎ‬g‫ﻘ‬9‫ﻠﻬﺎ ﻫ‬g‫ﻠﻬﺎ وﻟﻮ ﻗ‬ƒ ‫ﻫ™ﻓﻀﻬﺎ‬
‫ﻌ~ ﻣﺜﻼ ﻣﻤﻜﻦ ﺗﻌﻤﻞ‬k “ ‫ رﻓﻀﻬﺎ‬DBMS‫ﺎت وﻟ„ﻦ اﻟﻤﺠﻤﻮﻋﺔ دي ﻟﻮ ال‬9‫اﻟﻌﻤﻠ‬
} ›
‫اء دي‬ª̀‫ﺔ اﻟ‬9‫ﺎﻧﺎت ﻋﻤﻠ‬9‫ ﻗﺎﻋﺪة اﻟﺒ‬žh ‫ﻞ اﻻوردر •ﺎﻟﺤﺠﺎت اﻟ‚ ﻋﺎﻳﺰ ¸ﺸ™‡ــﻬﺎ و‡ﺨﺰن‬9‫ﺎﺧﺪ ﻣﻦ اﻟﻌﻤ‬k transaction
} “ record‫ ل‬Insert ‫ •ﺎﻟﺘﺎ¼ ﻫﻌﻤﻞ ادﺧﺎل او‬.... ‫اﺷ™اﻫﺎ‬
”‫ﻣﻌ‬ › ‚‫ﻤﺔ اﻟﻤﺨﺰون ﻟﻠﺤﺎﺟﺎت اﻟ‬9‫وﻓﻨﻔﺲ اﻟﻮﻗﺖ ﻳﻨﻘﺺ ﻣﻦ ﻗ‬
h
.transaction ‫ دي ﻛﺪة اﺳﻤﻬﺎ‬... ‫ﺎﻧﺎت‬9‫ ﻗﺎﻋﺪة اﻟﺒ‬žh } ‫ ﻟﻠﻤﺨﺰون‬update ‫وﻓﻨﻔﺲ اﻟﻮﻗﺖ ﻫﻌﻤﻞ‬

5) Other features:
 Protection includes system protection against hardware or software malfunction (or
crashes) and security protection against unauthorized or malicious access.

 A typical large database may have a life cycle of many years, so the DBMS must be able
to maintain the database system by allowing the system to evolve as requirements
change over time.
‫ح‬à ‫دي واﺿﺤﺔ •ﺎﻻﻧﺠﻠﺶ وﻣﺸﻤﺤﺘﺎﺟﺔ‬

To complete our initial definitions, we will call the database and DBMS software together
a database system.
.database system‫ ب‬DBMS‫ ﻣﻊ ال‬database‫ ال‬²‫ﺴ‬À‫ﻘﻮل ان ﻫ‬9‫ﻫﻨﺎ ﺑ‬
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Page 4 of 40
‫‪2) University example‬‬
‫}‬
‫•ﺎﻟﻌﺮ‪ ¤‬ﻋﻠﻄﻮل ‪ ...‬ﻟﻮ ﻋﺎﻳﺰ ﺗﻘﺮا اﻻﻧﺠﻠﺶ ﻫﺘﻼﻗ‪9‬ﻪ ‪ žh‬اﻟﻤﺮﺟﻊ ال‪ 7th edition‬ﺻﻔﺤﺔ ‪ ٦‬ل‪٩‬‬
‫‪hÃ‬‬ ‫اﺣﻨﺎ ﻫ‪ª̀Ž‬ح اﻟﻤﺜﺎل‬

‫ال ‪DBMS‬‬ ‫ﻓﺎﻟﻤﺜﺎل دە ﻋﺎﻳﺰ ﻳﻮﺿﺢ‬


‫‪• functions‬ﻤﺜﺎل‬

‫ﻫﻮ ﻫﻨﺎ ﺑ‪9‬ﻘﻮل اﻧﻪ ﻋﺎﻳﺰ ‪k‬ﻌﻤﻞ ﻗﺎﻋﺪة ﺑ‪9‬ﺎﻧﺎت‬


‫ﻟﺠﺎﻣﻌﺔ ‪ ...‬ﻗﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت دي ﺑ‪€‬ﺴﺠﻞ‬
‫وال‪courses‬‬ ‫ال‪students‬‬ ‫ﺑ‪9‬ﺎﻧﺎت‬
‫وال‪.grades‬‬

‫وﻗﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت دي ﻫ‪9‬ﻜﻮن ﻓﻴﻬﺎ ‪ 5 files‬او‬


‫‪ ٥‬ﻣﻠﻔﺎت ‪ ...‬ﻣﻠﻒ ﻟﻞ‪ student‬وﻣﻠﻒ‬
‫ﻟﻞ‪ course‬وﻣﻠﻒ ﻟﻞ‪section‬ب وﻣﻠﻒ‬
‫ﻟﻞ‪ grade‬وﻣﻠﻒ ﻟﻞ ‪ prerequisites‬او‬
‫ﻣﺘﻄﻠ‪g‬ﺎت ‪ƒ‬ﻞ ‪ .... course‬ذي اﻟﺼﻮرة‪.‬‬

‫ﻣﻦ اﻟﺼﻮرة ﻧﻔﻬﻢ اﻧﻪ ﺑ‪À‬ﺴ‪ ²‬اﻟﺠﺪول ‪ file‬او‬


‫ﻣﻠﻒ‪ .‬و‪9¢‬ﻘﻮل ﻣﻠﻒ ﺑ‪9‬ﺨﺰن ‪data records‬‬
‫‪k ... of the same type‬ﻘﺼﺪ •ﺎل ‪data‬‬
‫‪ i records‬اﻟﺼﻔﻮف ‪} ...‬‬
‫‪k‬ﻌ~ ﻣﺜﻼ اﻟﺠﺪول‬ ‫‪h‬‬
‫ﺑﺘﺎع ال‪ student‬او ﺧﻠﻴﻨﺎ ﻧﻘﻮل اﻟﻤﻠﻒ ﺑﺘﺎع‬
‫ﺻﻔ” او ‪ 2 record‬واﺣﺪ‬‫“}‬ ‫ال‪ student‬ﻓ‪9‬ﻪ‬
‫واﻟﺘﺎ‪• ¤‬ﺎﺳﻢ ‪ Brown‬وﻃ‪g‬ﻌﺎ‬ ‫}‬ ‫•ﺎﺳﻢ ‪smith‬‬
‫‪h‬‬
‫}‬
‫اﻟﺼﻔ” ﺑ‪9‬ﺨﺰﻧﻮ داﺗﺎ ﻣﻦ‬
‫“‬ ‫ال‪ 2 records‬او‬
‫ﻧﻔﺲ اﻟﻨ‪±‬ع‪.‬‬

‫وﻃ‪g‬ﻌﺎ ﻣﻔﻬﻮم ‪ƒ‬ﻞ ﻣﻠﻒ او ﺟﺪول ﺑ‪9‬ﺨﺰن‬


‫ﻣﻌﻠﻮﻣﺎت ﻋﻦ ا‪k‬ﻪ ‪} ...‬‬
‫‪k‬ﻌ~ اﻟﻤﻠﻒ ﺑﺘﺎع اﻟﻄﻼب‬
‫ﺑ‪9‬ﺨﺰن ﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻟﻄﻼب وﻣﻠﻒ‬
‫اﻟ„ﻮرﺳﺎت ﺑ‪9‬ﺨﺰن ﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻟ„ﻮرﺳﺎت‬
‫وﻫﻜﺬا‪.‬‬

‫اﺣﻨﺎ ﻗﻮﻟﻨﺎ ﻓﻮق ان ﻣﻦ ال ‪DBMS‬‬


‫‪ functions‬اﻧﻪ ﺑ‪9‬ﻌﻤﻞ ‪ define‬او ﺗﻌˆ‡ﻒ‬
‫ﻟﻘﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت‪.‬‬

‫و‪i‬‬
‫ﻓﺎﻟﻤﺮﺟﻊ ﻗﺎل ﺟﻤﻠﺔ ﺣﻠﻮة ﻻزم ﻧﻔﻬﻤﻬﺎ ﻛ‪ʱ‬ﺲ ‪h‬‬
‫‪To define this database, we must specify the structure of the records of each file by‬‬
‫‪specifying the different types of data elements to be stored in each record.‬‬

‫‪Page 5 of 40‬‬
... ‫ﻞ ﺻﻒ‬ƒ žh } ‫ﺴﺠﻞ‬€‫ﺎﻧﺎت اﻟ‚ ﻫﺘ‬9‫ اﻟﺒ‬record‫ﻞ‬ƒ ‫ ﺑﺘﺎﻋﺔ‬structure‫ﻘﻮل اﻧﻚ ﻻزم ﺗﻌﺮف ال‬9‫ ﺑ‬... ‫ﻼم دە‬Ë‫ﻪ اﻟ‬k‫ﻌ~ ا‬k }
‫ﻪ ﻓﺎﻟﺠﺪول‬k‫ ﻋﺎﻳﺰ ¦ﺴﺠﻞ ا‬... i } ‫ اول ﺣﺎﺟﺔ‬... ‫اﻋﻤ‚ ﺟﺪول ﻋﻦ اﻟﻄﻼب‬ }
‫ ﻟﻤﺎ اﻧﺎ اﻗﻮﻟﻚ‬... ‫ﻪ‬k‫•ﻤﻌ~ ا‬
h ‫ﺴﺎﻟ~ ﻓﻴﻬﺎ‬€‫ﻫ‬
h h
data elements‫ اﻧﺎ ﻛﺪة ﺣﺪدت ال‬... ‫ﺳﺠ‚ اﻻﺳﻢ واﻟﺮﻗﻢ واﻟﻔﺼﻞ او اﻟﺘﺨﺼﺺ‬ h ‫ ﻓﻬﻘﻮﻟﻚ ﻣﺜﻼ‬... ‫دە ﻋﻦ اﻟﻄﻼب‬
}
.record ‫ﻞ‬Ë‫ ﻟ‬structure‫ ﻻزم اﺣﺪد ال‬¤‫•ﺎ‬ h ‫ﻪ‬9‫ﻘﺼﺪ ﺑ‬k ‚‫ ودە اﻟ‬... ‫او اﻻﻋﻤﺪة ﺑﺘﺎﻋﺔ اﻟﺠﺪول‬
} ‫ﻞ ﺣﺎﺟﺔ‬Ë‫ ﻟ‬data type‫ ﻧﺤﺪد ال‬œ•› ‫ﻓﺎﺿﻞ‬
.‫ وﻫﻜﺬا‬... double ‫ وﻻ‬integer ‫ﻜﻮن‬9‫ﻌ~ ﻣﺜﻼ اﻟﺮﻗﻢ ﻫ‬k
} tables‫ او ال‬files‫دﻟﻮﻗ~ ﺧﻼص ﺣﺪدﻧﺎ ال‬
‫ وﺣﺪدﻧﺎ‬structure of each record‫ﻌ~ وﺣﺪدﻧﺎ اﻻﻋﻤﺪة او ال‬k › ‫ﺐ‬9‫ﻃ‬
}
‫ﺪا‬g‫ﻌ~ ﻫﻨ‬k construction of database ‫ ﻫﻨﻌﻤﻞ‬... ‫ﻪ •ﻌﺪ ﻛﺪة‬k‫ اﻟﻤﻔﺮوض ﻧﻌﻤﻞ ا‬... ‫ﻞ ﻋﻤﻮد‬Ë‫ ﻟ‬data type‫ال‬
.‫ﺎﻧﺎت‬9‫ﺸﺎء ﻗﺎﻋﺪة اﻟﺒ‬¹‫ ا‬žh }

‫ ;ﺲ ﻫﺘﻼﺣﻆ‬... ‫ﻞ ﺟﺪول‬ƒ žh } records ‫ﺪا ¦ﺴﺠﻞ‬g‫ ﻓﻬﺘ‬... ‫ﺔ‬9‫ﺎﻧﺎت ﻓﻌﻠ‬9‫ﻞ ﺑ‬9‫ﺘﻀﻤﻦ ¦ﺴﺠ‬Ÿ‫ﺎﻧﺎت ﺑ‬9‫ﺸﺎء ﻗﺎﻋﺪة اﻟﺒ‬¹‫ﻗﻮﻟﻨﺎ ا‬
... grade‫ﻂ •ﺎﻟﺠﺪول ﺑﺘﺎع ال‬g‫ﻌ~ ﻣﺜﻼ اﻟﺠﺪول ﺑﺘﺎع اﻟﻄﻼب ﻣﺮﺗ‬k} ... ‫ﻌﺾ‬g‫ان اﻟﺠﺪاول او اﻟﻤﻠﻔﺎت ﻟﻴﻬﻢ ﻋﻼﻗﺔ ﺑ‬
‫ﻌ~ ﺟﺪول‬k} Section_identifier‫ﻤﺎن ال‬ƒ‫ و‬student_number‫ﻪ ﻋﻤﻮد ﻟﻞ‬9‫ ﻓ‬grade‫ ﺟﺪول ال‬ž} ‫ﻫﺘﻼﺣﻆ‬
h
.‫ﻂ •ﺠﺪول اﻟ„ﻮرﺳﺎت‬g‫ ﻣﺮﺗ‬Prerequisite‫ وﻛﺬﻟﻚ ﺟﺪول ال‬.‫ﻂ •ﺠﺪول اﻟﻄﻼب وﺟﺪول اﻟﺴ—ﺎﺷﻦ‬g‫ ﻣﺮﺗ‬grade‫ال‬
› ‫ﻌ~ ﻣﺜﻼ ﻣﻤﻜﻦ‬k
‫¦ﺴ™ﺟﻊ‬ } ... Update ‫ او‬delete ‫ او‬insert ‫ﺎرة ﻋﻦ‬g‫ دي ﻗﻮﻟﻨﺎ اﻧﻬﺎ ﻋ‬... manipulation‫ﺐ ال‬9‫ﻃ‬
‫ وﻣﻤﻜﻦ‬DB‫ اﻟﺨﺎﺻﺔ •ﻜﻮرس ال‬prerequisite course‫¦ﺴ™ﺟﻊ ال‬ › ‫ او اﻧﻚ‬smith ‫ﻞ اﻟ„ﻮرﺳﺎت واﻟﺪرﺟﺎت ﺑﺘﺎﻋﺔ‬ƒ
‫ ﻣﻤﻜﻦ‬... ‫ﺔ‬9‫ ﺳﻨﺔ ﺗﺎﻧ‬žh } ‫ﺗﻐ™ ﺣﺎﻟﺔ اﻟﻄﺎﻟﺐ ﻣﻦ ﻃﺎﻟﺐ ﻣﺴﺘﺠﺪ ﻟﻄﺎﻟﺐ ﻣﻮﺟﻮد‬ “ ‫ﺚ ذي ﻣﺜﻼ اﻧﻚ‬k‫ او ﺗﺤﺪ‬update ‫ﺗﻌﻤﻞ‬
.‫ﺪ ﻣﺜﻼ‬k‫ ﻟ„ﻮرس ﺟﺪ‬Insert ‫ﺗﻌﻤﻞ‬

At this stage, it is useful to describe the database as part of a larger undertaking known
as an information system within an organization. The Information Technology (IT)
department within an organization designs and maintains an information system
consisting of various computers, storage systems, application software, and databases.
}
‫ﻘﻮل‬9¢‫ و‬... ‫ﺎﻧﺎت‬9‫ﻛﺔ او اﻟﻤﻨﻈﻤﺔ اﻟ‚ ﻓﻴﻬﺎ ﻗﺎﻋﺪة اﻟﺒ‬ª̀‫ اﻟ‬žh IT‫ﺎﻧﺎت ﺑﺘﻜﻮن ﺟﺰء ﻣﻦ ﻗﺴﻢ ال‬9‫ﻘﻮل ان ﻗﺎﻋﺪة اﻟﺒ‬9‫ﻫﻨﺎ ﺑ‬

.‫ﺎﻧﺎت‬9‫ﺮاﻣﺞ وﻗﻮاﻋﺪ ﺑ‬¢‫ﻛﻮﻣﺒﻴ™ات و‬ ‫ﺎﻧﺔ ﻟﻠﻨﻈﺎم ﻣﻦ‬9‫ﻢ وﺻ‬9‫ﻌﻤﻞ ﺗﺼﻤ‬9‫ ﻫﻮ اﻟ‚ ﺑ‬IT‫ان ﻗﺴﻢ ال‬

Database Design stages:


First stage:
Design of a new application for an existing database or design of a brand-new database
starts off with a phase called requirements specification and analysis.

Second stage:
These requirements are documented in detail and transformed into a conceptual design
that can be represented and manipulated using some computerized tools so that it can
be easily maintained, modified, and transformed into a database implementation. (We
will introduce a model called the Entity-Relationship model in Chapter 3 that is used for
this purpose.)

Page 6 of 40
‫‪Third stage:‬‬
‫‪The design is then translated to a logical design that can be expressed in a data model‬‬
‫‪implemented in a commercial DBMS. (Various types of DBMSs are discussed throughout‬‬
‫)‪the text, with an emphasis on relational DBMSs in Chapters 5 through 9.‬‬

‫‪Fourth and final stage:‬‬


‫‪The final stage is physical design, during which further specifications are provided for‬‬
‫‪storing and accessing the database. The database design is implemented, populated with‬‬
‫‪actual data, and continuously maintained to reflect the state of the miniworld.‬‬

‫ﻫﻨﺎ ﺑ‪Ÿ‬ﺘ—ﻠﻢ ﻋﻦ ﻣﺮاﺣﻞ ﺗﺼﻤ‪9‬ﻢ ﻗﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت ‪ ...‬اول ﻣﺮﺣﻠﺔ ﺑ‪Ž‬ﺴﻤﻴﻬﺎ ال ‪requirements specification and‬‬
‫ﺗﻌﻤ‚ ﺳ‪À‬ﺴﺘﻢ ﻟﻤﻌﻤﻞ ﺗﺤﺎﻟ‪9‬ﻞ ‪k ...‬ﺎﺗﺮى ﻫﻞ‬ ‫›‬
‫دﻟﻮﻗ~ اﻧﺎ ﻟﻮ ﻋﻤ‪9‬ﻞ وﻗﻮﻟﺘﻠﻚ اﻧﺎ ﻋﺎﻳﺰك‬ ‫‪k ... analysis‬ﻘﺼﺪ ﺑﻴﻬﺎ ا‪k‬ﻪ ‪....‬‬
‫‪h‬‬
‫}‬
‫¦ﺴﺎﻟ~ ﻋﺎﻳﺰ اﻟﺴ‪À‬ﺴﺘﻢ دە ‪k‬ﻌﻤﻞ‬ ‫ﻫﺘﻔﺘﺢ اﻟ„ﻮﻣﺒﻴﻮﺗﺮ ﺑﺘﺎﻋﻚ وﺗ‪g‬ﺪا ﺗﺼﻤﻢ ﻗﺎﻋﺪة ﺑ‪9‬ﺎﻧﺎت وﺗﻌﻤﻞ ﺑﺮﻧﺎﻣﺞ ﻋﻠﻄﻮل وﻻ ﻻزم‬
‫‪h‬‬
‫‪k‬ﻌ~ ﻣﻦ اﻻﺧﺮ ﺑ‪€‬ﺴﺎﻟﻪ ﻋ‚ ﻣﺘﻄﻠ‪g‬ﺎت اﻟﻌﻤﻞ اﻟ‚ ﺑﻨﺎءا ﻋﻠﻴﻬﺎ ﻫﺘﻌﻤﻞ‬ ‫ا‪k‬ﻪ وا‪k‬ﻪ اﻟﺪاﺗﺎ اﻟ‚ ﺑ‪€‬ﺴﺠﻠﻬﺎ و‪¢‬ﺘﺨﺰﻧﻬﺎ وﻛﺪة ‪} ...‬‬
‫اﻟ™ﻧﺎﻣﺞ وﻗﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت‪ ....‬واﻟﻤﺘﻄﻠ‪g‬ﺎت دي ﺑﺘﻜﺘﺒﻬﺎ ;ﺸ—ﻞ ﺟﻤﻞ ﻋﺎد‪k‬ﺔ ﺟﺪا } ‪ žh‬ورق و‪¢‬ﺘﻮﺛﻘﻬﺎ‬ ‫‪Ã‬‬

‫دﻟﻮﻗ~ اﻧﺖ ﺧﻼص‬ ‫›‬ ‫اﻟﻤﻔﺎﻫ‪ .... ²9‬ودە ‪k‬ﻘﺼﺪ ﺑ‪9‬ﻪ ا‪k‬ﻪ ‪....‬‬ ‫‪k‬ﻌ~ اﻟﺘﺼﻤ‪9‬ﻢ‬‫ﺗﺎ‪ ¤‬ﻣﺮﺣﻠﺔ ‪ i ...‬ال‪} conceptual design‬‬ ‫}‬
‫‪h‬‬ ‫‪h‬‬ ‫‪h‬‬
‫ﻗﺎ•ﻠﺖ اﻟﻌﻤ‪9‬ﻞ وﻛﺘ‪g‬ﺖ ‪ƒ‬ﻞ ﻣﺘﻄﻠ‪g‬ﺎت اﻟﻌﻤﻞ } ‪ ... document žh‬ﻫﻞ اﻧﺖ ﻛﺪة •ﻘ‪9‬ﺖ ﺟﺎﻫﺰ ﻟﻠﺘﺼﻤ‪9‬ﻢ ‪ ...‬ﻻ ‪ ....‬ﻟ‪9‬ﻪ ‪...‬‬
‫‪k‬ﻌ~ ﻛ‪9‬ﺎﻧﺎت‬ ‫ﻻﻧﻚ ﻻزم ﺗﺎﺧﺪ اﻟ‪Ë‬ﻼم ﺑﺘﺎﻋﻪ وﺗﺤﺎول ﺗﻔﻬﻤﻪ وﺗﺤﺪد ال‪ miniworlds‬او اﻟ‚ ﻫ‪Ž‬ﺴﻤﻴﻬﺎ •ﻌﺪ ﻛﺪة ‪} Entities‬‬
‫›‬ ‫ﺗﻌﺘ™ ‪ files‬او ﺟﺪاول ‪} ...‬‬
‫ﻫﺘﻼ‪ ž‬ان اﻟﻄﻼب اﺳﻤﻬﻢ ‪miniworld‬‬
‫}‬ ‫‪h‬‬ ‫‪k‬ﻌ~ ﻣﺜﻼ ﻓﺎﻟﻤﺜﺎل ﺑﺘﺎع اﻟﺠﺎﻣﻌﺔ‬ ‫‪ i‬اﻟ‚ ‪Ã‬‬ ‫‪h ...‬‬
‫و‪h i‬‬
‫و‪¢‬ﺮﺿﻮ ﻫ‪9‬ﻜﻮن اﺳﻤﻬﻢ ‪ Entity‬وﻟﻴﻬﻢ ﻣﻠﻒ او ﺟﺪول ‪ ...‬و‪¢‬ﺘﻌﻤﻞ ال‪ žh conceptal design‬ﺻﻮرة ‪Diagram‬‬
‫ﺷﺎﺑ™ ‪ .٣‬ودە ﻣﺸ‪Ô‬ﺲ ﺑﻨﺤﺪد ﻓ‪9‬ﻪ‬ ‫›‬ ‫ﻫ‪9‬ﻜﻮن اﺳﻤﻪ ‪ Entity relationship diagram‬او ال‪ ERD‬ودە اﻟ‚ ﻫﻨﺎﺧﺪە } ‪žh‬‬
‫ﺑ” اﻟﺠﺪاول‪.‬‬ ‫اﻟﺠﺪاول وال‪ attributes‬ﺑﺘﺎﻋﺘﻬﺎ او اﻟ‚ ‪ i‬اﻻﻋﻤﺪة ﺑﺘﺎﻋﺔ اﻟﺠﺪاول ‪ ...‬ﻟ„ﻦ ‪ƒ‬ﻤﺎن ﺑﺘﺤﺪد اﻟﻌﻼﻗﺎت “ }‬
‫‪h‬‬
‫و‪ i‬ال‪ .... logical design‬ﻫﻨﺎ ›•‪ œ‬ﺑ‪g€‬ﺪا ﺗﺤﺪد ال‪ data types‬ﻟ‪Ë‬ﻞ ‪attribute‬‬ ‫ﻧ‪• Õ9‬ﻌﺪ ›ﻛﺪة ﻟﻠﻤﺮﺣﻠﺔ اﻟﺘﺎﻟﺘﺔ ‪h‬‬
‫‪h Ã‬‬
‫}‬
‫ﺗﻐ™ •ﻌﺾ اﻟﺤﺎﺟﺎت ‪ žh‬ال‪ ERD‬ﻟﻤﺎ ﺗﻮﺻﻞ ﻟﻠﻤﺮﺣﻠﺔ دي‬ ‫;ﺸ—ﻞ ﻣﻨﻄ‪ œ‬وﻣﻤﻜﻦ “‬

‫اﻷﺧ™ ‪ ...‬دي اﻟﻤﺮﺣﻠﺔ اﻟ‚ ﺑ‪9‬ﺤﺼﻞ ا‪¹‬ﺸﺎء ﻓﻌ‚ ﻟﻘﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت ﻋ‚ ‪a‬ﻓﺮ او‬
‫“‬ ‫ال‪ Physical design‬ودي اﻟﻤﺮﺣﻠﺔ‬
‫ﻛﻮﻣﺒﻴﻮﺗﺮ و‪gŽ¢‬ﺪا ‪¹‬ﺴﺠﻞ ﻓﻴﻬﺎ ﺑ‪9‬ﺎﻧﺎت‪.‬‬
‫––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––‬

‫‪3) Characteristics of the Database Approach‬‬


‫ﺑ‪9‬ﻘﻮل ﻓﺎﻟﺠﺰء دە ان ﻧﻈﺎم ﻗﻮاﻋﺪ اﻟﺒ‪9‬ﺎﻧﺎت ﻣﺨﺘﻠﻔﺔ ﻋﻦ ال‪ ... file-processing approach‬اﻟ‚ ﻫﻮ ا‪k‬ﻪ ‪ ...‬زﻣﺎن ﻗ‪g‬ﻞ‬
‫اﺳﺘﺨﺪام ﻗﻮاﻋﺪ اﻟﺒ‪9‬ﺎﻧﺎت ‪ƒ‬ﺎﻧﻮ ﺑ‪9‬ﺨﺰﻧﻮ اﻟﺒ‪9‬ﺎﻧﺎت } ‪ žh‬ﻣﻠﻔﺎت وﻫﻨﺎ ‪k‬ﻘﺼﺪ ﻣﻠﻔﺎت ﻓﻌﻼ ﻣﺸﺠﺪاول و‪9¢‬ﻌﻤﻠﻮ ﺑﺮاﻣﺞ ﻣﺨﺼﺼﺔ‬
‫‪k‬ﻌ~ ﻣﺜﻼ ‪ ...‬ﻣﻜﺘﺐ ﺷﺌﻮن اﻟﻄﻠ‪g‬ﺔ اﻟ‚ ﺑ‪9‬ﻄﻠﻊ ﺑ‪9‬ﺎن •ﺪرﺟﺎت اﻟﻄﻼب ﻫ‪9‬ﻌﻤﻞ‬ ‫ﻻﺳ™ﺟﺎع اﻟﺒ‪9‬ﺎﻧﺎت دي ﻣﻦ اﻟﻤﻠﻔﺎت ‪} ...‬‬‫›‬
‫¸ﺴ™ﺟﻌﻮ اﻟﺒ‪9‬ﺎﻧﺎت ‪ ...‬واﻟﺨﺰﻧﻪ ﻣﺜﻼ او ﻣﻜﺘﺐ اﻟﺤﺴﺎ•ﺎت‬‫ﻣﻠﻔﺎت ¸ﺴﺠﻞ ﻓﻴﻬﺎ ﺑ‪9‬ﺎﻧﺎت اﻟﻄﻼب و‡ﻌﻤﻠﻮ ﺑﺮﻧﺎﻣﺞ ﻋﺸﺎن ›‬
‫ﺑ‪9‬ﻌﻤﻞ ﻣﻠﻔﺎت ﺗﺎﻧ‪9‬ﺔ ﺧﺎﻟﺺ ﻋﻦ ﻣﺼﺎر‡ﻒ اﻟﻄﻼب و‪9¢‬ﻌﻤﻞ ﺑﺮﻧﺎﻣﺞ ﻣﺨﺘﻠﻒ ﻋﻦ ﺑﺮﻧﺎﻣﺞ ﻣﻜﺘﺐ اﻟﺸﺌﻮن ﻋﺸﺎن ›‬
‫¸ﺴ™ﺟﻊ‬
‫}‬
‫ﻋﺎﻟﻔﺎ×‪.‬‬ ‫ﻛﺒ™ة‬‫̀‪Ù‬ء ﻣ—ﻠﻒ ﻟﻠﻮﻗﺖ و‪ƒ‬ﻤﺎن ﺑ‪À‬ﺴﺘﻬﻠﻚ ﻣﺴﺎﺣﺎت ﺗﺨ‪9Ž‡Ø‬ﺔ “‬‫اﻟﺒ‪9‬ﺎﻧﺎت اﻟﺨﺎﺻﺔ •ﺎﻟﻤﺼﺎر‡ﻒ ‪ ...‬ﻃ‪g‬ﻌﺎ دە ‪h‬‬
‫›‬
‫دﻟﻮﻗ~‬ ‫“}‬
‫اﻟﻤﻤ™ات اﻟ‚ ﻫ‪Ž‬ﺸﻮﻓﻬﺎ‬ ‫ﻟ„ﻦ ﻧﻈﺎم ﻗﻮاﻋﺪ اﻟﺒ‪9‬ﺎﻧﺎت ﻣﺨﺘﻠﻒ ﺗﻤﺎﻣﺎ ﻋﻦ دە ﻋﺸﺎن ﻓ‪9‬ﻪ اﻟﺨﻮاص او‬

‫‪Page 7 of 40‬‬
Self-describing nature of a database system:

the database system (the database and DBMS) contains not only the database itself but
also a complete definition or description of the database structure and constraints. This
definition is stored in the DBMS catalog, which contains information such as the structure
of each file, the type and storage format of each data item, and various constraints on the
data. The information stored in the catalog is called meta-data, and it describes the
structure of the primary database

The catalog is used by the DBMS software and also by database users who need
information about the database structure. A general-purpose DBMS software package is
not written for a specific database application. Therefore, it must refer to the catalog to
know the structure of the files in a specific database, such as the type and format of data
it will access.

The following figures show the catalog containing meta data about University database.
Whenever a request is made to access, say, the Name of a STUDENT record, the DBMS
software refers to the catalog to determine the structure of the STUDENT file and the
position and size of the Name data item within a STUDENT record.

Self-Describing Nature of a ‫ﻪ‬k‫ﻌ~ ا‬k }


‫ﻌ~ ﻗﺎﻋﺪة‬k } ... Database System
‫ اذاي‬... ‫ﺎﻧﺎت ﺑﺘﻌﺮف ﺗﻮﺻﻒ ﻧﻔﺴﻬﺎ‬9‫اﻟﺒ‬
meta ‫ˆ‡ﻦ ﻟﻤﺎ ﺗ—ﻠﻤﻨﺎ ﻋﻦ ال‬Â‫ ﻓﺎ‬... ‫ﺑﺮﺿﻮ‬
‫ ﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻟﺪاﺗﺎ ﻧﻔﺴﻬﺎ‬i h ‫وﻗﻮﻟﻨﺎ‬ data
}ž ‫ﺘﺨﺰن‬€¢‫و‬
‫ﺎﻧﺎت وﺷﻮﻓﻨﺎ اﻟﺼﻮرة‬9‫ ﻗﺎﻋﺪة اﻟﺒ‬h
DBMS‫ﻘﺼﺪ ﻫﻨﺎ ان ﻗﺎﻋﺪة ال‬k ‫ ﻫﻮ‬...
‫ﺎﻧﺎت وﻟ„ﻦ‬9‫ﻪ ﻗﺎﻋﺪة اﻟﺒ‬9‫ﻜﻮن ﻓ‬9‫ﺲ ﺑ‬Ô‫ﻣﺸ‬
‫ﻪ‬9‫ﺴﻤ‬À‫ او اﻟ‚ ﺑ‬meta data‫اﻟﻤﻠﻒ ﺑﺘﺎع ال‬
‫ﻪ اﻟﻘﺪرة ﻋ‚ وﺻﻒ‬9‫ﺎﻟﺘﺎ¼ ﻫﻮ ﻟ‬¢‫و‬
h catalog
‫ﻞ‬ƒ ‫ﻘﻮل ان‬9¢‫ و‬... ‫ ;ﺲ ﻛﺪة‬... ‫ﺎﻧﺎت‬9‫ﻗﺎﻋﺪة اﻟﺒ‬
... ‫ﺎﻧﺎت‬9‫ﻪ ﻋ‚ ﻗﺎﻋﺪة اﻟﺒ‬9‫ ﺗﻌﻤﻞ ﻋﻤﻠ‬Õ9‫ﺗ‬ h à ‫ﻣﺎ‬
‫ج دە‬±‫ ﻻزم ﻳﺮوح ﻋ‚ اﻟ„ﺘﺎﻟ‬DBMS‫ال‬
.‫ وأﻧﻮاع اﻟﺪاﺗﺎ‬record‫ﺔ ال‬g‫ﺸﻮف ﺗﺮﻛﻴ‬Ê‫و‬

‫ اول‬... ‫ اﻟﺼﻮرة دي‬žh } ‫ﻪ ﻣﻠﺤﻮﻇﺔ‬9‫;ﺲ ﻓ‬


‫ﻪ‬9‫ﺐ ﻓ‬k‫ وﺟﺎ‬relations ‫ﻪ‬9‫ﺟﺪول ﻣﺴﻤ‬
‫ﺎم ﻋﻤﻮد‬ƒ ‫ﻪ‬9‫ﻞ ﺟﺪول ﻓ‬ƒ‫ اﻟﺠﺪاول و‬Û‫اﺳﺎ‬ h ›
... ‫ ﺑﺮﺿﻮ‬relation ‫ اﻟﺠﺪول‬²‫ﺴ‬À‫ﺑ‬
h ‫ﻫﻨﺎ‬ œg‫ﻳ‬
‫ او‬file ‫ ﻟﺤﺪ اﻻن اﻟﺠﺪول اﺳﻤﻪ‬œg‫ﻳ‬ ›
‫ او ﺟﺪول ﺑﺮﺿﻮ‬relation

Page 8 of 40
Insulation between Programs and Data, and Data
Abstraction

Insulation of Data:
In traditional file processing, the structure of data files is embedded in the application
programs, so any changes to the structure of a file may require changing all programs that
access that file. By contrast, DBMS access programs do not require such changes in most
cases. The structure of data files is stored in the DBMS catalog separately from the access
programs. We call this property program-data independence.

‫ﻞ ﻣﻠﻒ ﺑﺮﻧﺎﻣﺞ ﻣﺨﺼﻮص‬Ë‫ﻌﻤﻠﻮ ﻟ‬9‫ﺎﻧﻮ ﺑ‬ƒ‫ ﻣﻠﻔﺎت و‬žh } ‫ﺨﺰﻧﻮ اﻟﺪاﺗﺎ‬9‫ﺎﻧﻮ ﺑ‬ƒ ‫ﺎﻧﺎت ﻟﻤﺎ‬9‫ﻞ ﻗﻮاﻋﺪ اﻟﺒ‬g‫ زﻣﺎن ﻗ‬... ‫ﻪ‬k‫ﻘﻮل ا‬9‫ﻫﻨﺎ ﺑ‬
‚‫اﻟ™ﻧﺎﻣﺞ اﻟ‬
à ‫ ﻣﻮﺟﻮدة ﺿﻤﻦ ﺑﺮﻣﺠﺔ‬data strucrure‫ وال‬data type‫ﺎﻧﺖ ال‬ƒ ،‫ﺐ اﻟﺪاﺗﺎ ﻣﻦ اﻟﻤﻠﻒ دە‬9‫ﺠ‬k ‫ﻋﺸﺎن‬
‫ﻞ‬ƒ ‫ﺗﻐ™ ﺑﺮﻣﺠﺔ‬ › }
“ ‫ﻪ‬9‫ ﻣﻘﺎ•ﻞ ﻟ‬œg‫ ﻻزم ﻳ‬structure of record‫ ال‬žh ‫ﺤﺼﻞ‬9‫ﺗﻐ™ ﺑ‬ “ ‫ﻘﺮا اﻟﺪاﺗﺎ ﻣﻦ اﻟﻤﻠﻔﺎت دي واي‬9‫ﺑ‬
› }
‫ او‬meta data‫ﻪ ال‬9‫ اﻟ‚ ﻓ‬catalog‫ ان ال‬ž‫ﺑﺘﻼ‬ h DBMS‫ ال‬žh ‫ ﻟ„ﻦ‬.... ‫ﺎﻧﺎت ﻣﻦ اﻟﻤﻠﻔﺎت دي‬9‫اﻟ™اﻣﺞ اﻟ‚ ﺑﺘﺎﺧﺪ ﺑ‬ Ã
‫ﻞ‬k‫ﺎﻟﺘﺎ¼ أي ﺗﻌﺪ‬¢‫و‬
h ‫اﻟ™ﻧﺎﻣﺞ‬
à ‫ وﻣﺸﻤﻮﺟﻮد داﺧﻞ‬DBMS‫ ﻣﻮﺟﻮد ﺟﻮة ال‬،‫ﺎﻧﺎت‬9‫ﺔ اﻟﺒ‬g‫ﻴﻮﺿﺢ ﺗﺮﻛﻴ‬¢‫ و‬data type ‫ﻪ‬9‫اﻟ‚ ﻓ‬
} }
‫ﻌ~ اﻟﺪاﺗﺎ ﻣﻌﺰوﻟﺔ‬k ...‫ﺎﻧﺎت‬9‫ﺎﻧﺎت ﻣﻦ ﻗﺎﻋﺪة اﻟﺒ‬9‫ﻟ™اﻣﺞ اﻟ‚ ﺑﺘﺎﺧﺪ اﻟﺒ‬Ã ‫ﺑﺘﻐ™ ﺑﺮﻣﺠﺔ ا‬
“ ‫ﻪ ﻋﻼﻗﺔ‬9‫ﻜﻮن ﻟ‬9‫ﺔ اﻟﺪاﺗﺎ ﻣﺸﻬ‬g‫ ﺗﺮﻛﻴ‬žh
.‫اﻟ™ﻧﺎﻣﺞ‬ } ‫ او‬program-data independence. ‫ﻪ‬9‫ﺴﻤ‬Ž‫اﻟ™اﻣﺞ ودە ﺑ‬
à ‫ﺔ اﻟﺪاﺗﺎ ﻋﻦ‬9‫ﻌ~ اﺳﺘﻘﻼﻟ‬k à ‫ﺗﻤﺎﻣﺎ ﻋﻦ‬

™‫ﻫﺘﻐ‬
“ } ‫ﻼد‬9‫ﻪ ﺗﺎر‡ـ ــﺦ اﻟﻤ‬9‫ﻒ ﻋﻠ‬9‫ﺖ ﺗﻀ‬9‫ﻢ وﺣﺒ‬k‫ ﻣﻠﻒ زي اﻟﻨﻈﺎم اﻟﻘﺪ‬ž} ‫ﺔ ﻣﺘﺨﺰﻧﺔ‬g‫ﺎﻧﺎت اﻟﻄﻠ‬9‫ذي ﻣﺜﻼ ﻟﻮ ﻓﺮﺿﺎ ﺑ‬
~‫ﻌ‬k h
™‫ﻫﺘﻐ‬
“ ‫ﻨﺎت ﻣﺸﻬﺘﺤﺘﺎج ﺗﻌﻤﻞ دە ﻻﻧﻚ‬Ÿ‫ ﻗﺎﻋﺪة اﻟﺒ‬žh } ‫ﻟ™اﻣﺞ اﻟ‚ ﺑﺘﻘﺮا ﻣﻨﻪ ﻟ„ﻦ‬Ã ‫ﻓ™ﻣﺠﺔ ا‬Ã ‫ ﻻزم ﺗﻌﺪل‬œg‫ﻳ‬ › ‫ﺔ اﻟﺪاﺗﺎ‬g‫ ﺗﺮﻛﻴ‬ž}
h
.‫ﺎﻧﺎت ﻧﻔﺴﻬﺎ ﻓﻘﻂ‬9‫ ﻗﺎﻋﺪة اﻟﺒ‬žh } ‫ اﻟ‚ ﻣﻮﺟﻮد‬catalog‫ ال‬žh }
Insulation of Operation:
Functions or operations (which has names and has arguments with certain data types)
can be defined to operate on data by any programming language can be used by user
application programs to operate on data by invoking these operations through their
names and arguments, regardless of how the operations are implemented. This may be
termed program-operation independence.

‫ •ﺎي ﻟﻐﺔ‬functions ‫ﺪ ﺑﻨﻌﻤﻞ‬9Â‫ﺴﺘﺨﺪﻣﻬﺎ ا‬€‫ﻨﻌﻤﻞ ﺑﺮاﻣﺞ ﺑ‬¢‫ﺎﻧﺎت و‬9‫ﻌﺎ ﻟﻤﺎ ﺑﻨﻌﻠﻢ ﻗﺎﻋﺪة ﺑ‬g‫ ﻃ‬... ‫ﻪ‬k‫ﻼم دە ﻣﻌﻨﺎە ا‬Ë‫اﻟ‬
}“
‫اﻟﻤﺴﺘﺨﺪﻣ” ﺑﺘﺎﻋﺔ‬ ‫ﻘﻮل ان‬9‫ ﻓﺒ‬... ‫ﺎﻧﺎت‬9‫ ﻗﺎﻋﺪة اﻟﺒ‬žh } ‫ﻞ ﻋﻠﻴﻬﺎ‬k‫ﺣ~ ﻧﻌﻤﻞ ﺗﻌﺪ‬ › ‫ﺑﺮﻣﺠﺔ ﻋﺸﺎن ﻧﻘﺪر‬
› ‫ﺎﻧﺎت او‬9‫ﺴ™ﺟﻊ اﻟﺒ‬¹
™‫ﻏ‬
“ ‫ دي ﻋﻦ ﻃˆ‡ﻖ اﺳﻤﻬﺎ ﻣﻦ‬functions‫ﺎت دي او ال‬9‫ﺎت ﻋ‚ اﻟﺪاﺗﺎ دي •ﻤﺠﺮد اﺳﺘﺪﻋﺎء اﻟﻌﻤﻠ‬9‫ﻌﻤﻠﻮ ﻋﻤﻠ‬9‫اﻟ™اﻣﺞ ﺑ‬ Ã
}
‫ﺎت‬9‫ﺔ اﻟﻌﻤﻠ‬9‫ﻌ~ اﺳﺘﻘﻼﻟ‬k program-operation independence ‫ﺎت دي ﺑﺘﻢ ودە اﺳﻤﻪ‬9‫ﻌﺮﻓﻮ اذاي اﻟﻌﻤﻠ‬k ‫ﻣﺎ‬
.‫اﻟ™ﻧﺎﻣﺞ ﻧﻔﺴﻪ‬
à ‫ﻋﻦ‬
Data abstraction
The characteristic that allows program-data independence and program-operation
independence is called data abstraction. A DBMS provides users with a conceptual
representation of data that does not include many of the details of how the data is stored
or how the operations are implemented. Informally, a data model is a type of data
abstraction that is used to provide this conceptual representation. The data model uses
logical concepts, such as objects, their properties, and their interrelationships, that may
be easier for most users to understand than computer storage concepts. Hence, the data

Page 9 of 40
model hides storage and implementation details that are not of interest to most database
users.

In object-oriented and object-relational databases, the abstraction process includes not


only the data structure but also the operations on the data. These operations provide an
abstraction of miniworld activities commonly understood by the users. For example, an
operation CALCULATE_GPA can be applied to a STUDENT object to calculate the grade
point average. Such operations can be invoked by the user queries or application
programs without having to know the details of how the operations are implemented.

‫ﻌﺮﻓﺶ‬9‫ﻘﺼﺪ ﺑﻴﻬﺎ ان اﻟﻤﺴﺘﺨﺪم ﻣ‬k .... ‫ﻪ‬k ‫ﻘﺼﺪ ﺑﻴﻬﺎ‬k ... ‫ﻌ~ ﺗﺠˆ‡ﺪ اﻟﺪاﺗﺎ‬k } ‫ او‬data abstraction‫ﺘ—ﻠﻢ ﻋﻦ ال‬Ÿ‫ﻫﻨﺎ ﺑ‬
} ... ‫ ;ﺲ ﻛﺪة‬... ‫ﺎت اﻟ‚ ﺑﺘﻢ ﻋ‚ اﻟﺪاﺗﺎ‬9‫ﻞ ﻋﻦ اﻟﻌﻤﻠ‬9‫‡ﻦ وﻻ أي ﺗﻔﺎﺻ‬Ø‫‡ﻦ وﻻ ﻣ—ﺎن اﻟﺘﺨ‬Ø‫ﺣﺎﺟﺔ ﻋﻦ ﻃˆ‡ﻘﺔ اﻟﺘﺨ‬
~‫ﻌ‬k
} › ‫ﻣﺜﻼ‬
‫‡ﻦ‬Ø‫ اﻟ‚ ﺑﻴﻬﺘﻢ •ﺎﻟﺘﺨ‬physical level‫ ﺟﺪول اﻟﻌﻤﻼء ﻋ‚ ﻣﺴﺘﻮى ال‬žh ‫ﻞ‬9‫ﺎﻧﺎت ﻋﻤ‬9‫اﻓ™ض اﻧﻚ ﺑﺘﺤﺎول ﺗﺨﺰن ﺑ‬
‫ﺮة وﻟ„ﻦ‬Â‫‡ﻦ ﻋ‚ اﻟﺬا‬Ø‫ﺘﻢ اﻟﺘﺨ‬Ÿ‫ﻌﺮف اذاي ﺑ‬k ‫اﻟﻤ™ﻣﺞ ﻣﺸﻼزم‬ } “ ™‫اﻟﻤ‬ }
à ‫ﻣﺠ” ﻻن‬ à ‫ﻞ ﻣﻌﺰوﻟﺔ ﻋﻦ‬9‫ﻜﻮن ﺗﻔﺎﺻ‬9‫ﺮة ﺑ‬Â‫ اﻟﺬا‬žh
‫ﺔ‬g‫ﺴ‬Ž‫ﻌﻀﻬﺎ اﻣﺎ •ﺎﻟ‬g‫ وﻋﻼﻗﺔ اﻟﺠﺪاول ﺑ‬datatypes‫ و‬records‫ اﻟ‚ ﺑﻴﻮﺻﻒ اﻟﺪاﺗﺎ ك‬logical level‫ﻌﺮف ال‬k ‫اﻟﻤ™ﻣﺞ‬ Ã
}
‫ﻌﺮﻓﺶ أي‬9‫ﺔ وﻣ‬k‫ﺘﻌﺎﻣﻞ ﻣﻊ واﺟﻬﺔ اﻟﻤﺴﺘﺨﺪم اﻟﻌﺎد‬Ÿ‫ﻪ اﻟﻤﺴﺘﺨﺪم ﺑ‬9‫ اﻟ‚ ﻓ‬View level‫ ﻣﺴﺘﻮى ال‬žh ‫ﻜﻮن‬9‫ ﺑ‬user‫ﻟﻞ‬
.‫ ﻣﻌﺎﻟﺠﺔ اﻟﺪاﺗﺎ‬žh } ‫ﺎت اﻟ‚ ﺑﺘﻢ‬9‫ﻪ اﻟﻌﻤﻠ‬k‫‡ﻦ اﻟﺪاﺗﺎ وا‬Ø‫ﺔ ﺗﺨ‬9‫ﻔ‬9‫ﺣﺎﺟﺔ ﻋﻦ ﻛ‬

Support of Multiple Views of the Data


› ‫ﻞ واﺣﺪ‬ƒ‫ﺎﻧﺎت و‬9‫ﺴﺘﺨﺪم ﻧﻔﺲ ﻗﺎﻋﺪة اﻟﺒ‬€‫ﻪ ﻧﺎس ﻛﺘ™ ﺑ‬9‫ﻘﻮل ان ﻓ‬k ‫ﻫﻨﺎ ﻋﺎﻳﺰ‬
‫ ﻋﺎﻳﺰ ¸ﺸﻮف اﻟﺪاﺗﺎ •ﻄˆ‡ﻘﺔ ﻣﺨﺘﻠﻔﺔ‬œgŸ‫ﺑ‬ “
}”‫اﻟﻤﺴﺘﺨﺪﻣ‬ › }
‫™ ﻣﻦ ﻃˆ‡ﻘﺔ ﻋﺮض ﺗﻨﺎﺳﺐ‬Â‫ﺎﻧﺎت •ﺎ‬9‫ﻠﺔ اﻟ‚ ﺗﻌﺮض اﻟﺒ‬9‫ اﻟﻮﺳ‬žh ‫ﺎﻧﺎت‬9‫ﻘﺼﺪ اﻧﻪ ﻗﺎﻋﺪة اﻟﺒ‬k ... ¤‫اﻟﺘﺎ‬} ‫ﻋﻦ‬
“ h
‫ﺚ اﻟ„ﻮرﺳﺎت اﻟ‚ اﺧﺪﻫﺎ‬9‫ﺔ ﻣﻦ ﺣ‬g‫ﺎﻧﺎت اﻟﻄﻠ‬9‫ﺨﺘﺎر اﻧﻪ ﻋﺎﻳﺰ ¸ﺸﻮف و‡ﻄﺒﻊ ﺑ‬k ‫ ﻣﻤﻜﻦ ﻣﺴﺘﺨﺪم‬... ‫•ﻤﻌ~ اﺧﺮ‬ } ...
prerequisite ‫ﻞ ال‬ƒ ‫ ﻋﺎﻳﺰ ¸ﺸﻮف ﻓﻘﻂ ﻫﻞ اﻟﻄﺎﻟﺐ اﺟﺘﺎز‬¤‫ﺗﺎ‬ }
h ‫ واﻟﺴﻨﺔ وﺧﻼﻓﺔ وواﺣﺪ‬Ù‫وﺗﻘﺪﻳﺮە واﻟﻔﺼﻞ اﻟﺪرا‬
courses

Sharing of Data and Multiuser Transaction Processing

A multiuser DBMS, as its name implies, must allow multiple users to access the database
at the same time. This is essential if data for multiple applications is to be integrated and
maintained in a single database. The DBMS must include concurrency control software
to ensure that several users trying to update the same data do so in a controlled manner
so that the result of the updates is correct. For example, when several reservation agents
try to assign a seat on an airline flight, the DBMS should ensure that each seat can be
accessed by only one agent at a time for assignment to a passenger. These types of
applications are generally called online transaction processing (OLTP) applications. A
fundamental role of multiuser DBMS software is to ensure that concurrent transactions
operate correctly and efficiently.

‫ﺪ ﻓﺤﺎﻟﺔ ان‬9‫ﻌﺎ ﻣﻔ‬g‫™ ﻣﻦ ﻣﺴﺘﺨﺪم ¸ﺴﺘﺨﺪﻣﻬﺎ ﻓﻨﻔﺲ اﻟﻮﻗﺖ ودە ﻃ‬Â‫ﻻ‬ › ‫ﺴﻤﺢ‬€‫ ﺑ‬multiuser DBMS‫ﻘﻮل ان ال‬9‫ﻫﻨﺎ ﺑ‬
‫ﻜﻮن ﻓﻴﻬﺎ ﺑﺮﻧﺎﻣﺞ‬k DBMS‫ اﻟﺤﺎﻟﺔ دي ﻻزم ال‬žh } ‫ ﻟ„ﻦ‬... ‫ﺎﻧﺎت‬9‫ﺴﺘﺨﺪم ﻧﻔﺲ ﻗﺎﻋﺪة اﻟﺒ‬€‫ ﺑ‬app ‫™ ﻣﻦ ﺑﺮﻧﺎﻣﺞ او‬Â‫ا‬ ›
} ... ‫ ﻧﻔﺲ اﻟﻠﺤﻈﺔ‬ž} ‫ﺎت اﻟ‚ ﺑﺘﻢ‬9‫ اﻟﻌﻤﻠ‬ž} ‫ﺘﺤ—ﻢ‬Ÿ‫ ودە ﻣﻌﻨﺎە ﺑﺮﻧﺎﻣﺞ ﺑ‬concurrency control software
‫ﻌ~ ﻣﺜﻼ‬k h h
}“
‫ﺔ ﺣﺠﺰ‬9‫ﻌﻤﻠﻮ ﻋﻤﻠ‬k ”‫ﻣﻮﻇﻔ‬ ٢ ‫ﻤﻨﻔﻊ ان‬k ‚‫ﻪ اﻟ‬k‫ ا‬... ‫ﺮ‬Â‫ﺤﺠﺰ ﺗﺬا‬9‫™ ﻣﻦ ﻣﻮﻇﻒ ﺑ‬Â‫ا‬ › ‫ﻛﺔ ﻃ™ان ﻓﻴﻬﺎ‬à ž} ‫ اﻓﺮض‬....
“ h
Page 10 of 40
}
à ‫ﻜﻮن ﻓﻴﻬﺎ‬k ‫ﺖ ﻻزم‬Ž‫ﺎﻳ‬g‫ﻌﺎ دي ﺣﺎﺟﺔ ﻣﺘﻨﻔﻌﺶ ﻟ„ﻦ ﻗﺎﻋﺪة اﻟ‬g‫ ﻃ‬.... ‫ ﻧﻔﺲ اﻟﻠﺤﻈﺔ؟؟‬žh Ù‫اﻟ„ﺮ‬
‚‫اﻟ™ﻧﺎﻣﺞ اﻟ‬ h ‫ﻟﻨﻔﺲ‬
online transaction processing (OLTP) ‫اﻟ™ﻧﺎﻣﺞ اﺳﻤﻬﺎ‬ Ã ‫ﻞ واﺣﺪة و‡ﺮﻓﺾ واﺣﺪة واﻻﻧﻮاع دي ﻣﻦ‬g‫ﻘ‬k

The concept of a transaction has become central to many database applications. A


transaction is an executing program or process that includes one or more database
accesses, such as reading or updating of database records. Each transaction is supposed
to execute a logically correct database access if executed in its entirety without
interference from other transactions. The DBMS must enforce several transaction
properties. The isolation property ensures that each transaction appears to execute in
isolation from other transactions, even though hundreds of transactions may be
executing concurrently. The atomicity property ensures that either all the database
operations in a transaction are executed or none are. We discuss transactions in detail in
Part 9.
} ‫ﺘ—ﻠﻢ ﻋﻦ‬Ÿ‫ ﺑ‬.... ‫ﻪ‬k‫ﺘ—ﻠﻢ ﻋﻦ ا‬Ÿ‫ﻫﻨﺎ ﺑ‬
‚‫ﺎت اﻟ‬9‫ ذي ﻣﺎ ﻗﻮﻟﻨﺎ •ﺎﺧﺘﺼﺎر ﻫﻮ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻌﻤﻠ‬... transaction‫ﻣﻌ~ ال‬
‚‫ﻠﻬﺎ ﻋ‬ƒ ‫ﻞ‬g‫ﺘﻘ‬€‫ اﻟ‚ ﺑ‬queries‫ﻌ~ ﻣﻦ اﻻﺧﺮ ﻫﻮ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ال‬k › ‫ ﻧﻔﺲ اﻟﻠﺤﻈﺔ‬ž} ‫ﺑﺘﻢ ﻣﻊ •ﻌﻀﻬﺎ‬
} query ‫™ ﻣﻦ‬Â‫•ﺎ‬
h
‫ او اﻟﻌﺰل ودي‬isolation‫ﺔ ال‬9‫ﻪ ﺧﺎﺻ‬9‫ وﻓ‬atomicity‫ﺔ ال‬9‫ﺴﻤﻮﻫﺎ ﺧﺎﺻ‬À‫ﻠﻬﺎ ﻣﻊ •ﻌﺾ ودي ﺑ‬ƒ ‫•ﻌﻀﻬﺎ او ›ﺗ™ﻓﺾ‬
.‫ﺘﻢ ﻓﻨﻔﺲ اﻟﻠﺤﻈﺔ‬Ÿ‫ ﺑ‬transaction ‫ﺘﻢ •ﻌﺰﻟﺔ ﻋﻦ أي‬Ÿ‫ ﺑ‬transaction ‫ﻞ‬ƒ ‫ﻘﺼﺪ ﺑﻴﻬﺎ ان‬k
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

4) Actors on the Scene


Users who actually use and control the database content, and those who design, develop
and maintain database applications are called “Actors on the Scene”
}“
.‫وﻣﻬﺘﻤ” •ﺎﻟﺪاﺗﺎ اﻟ‚ ﻓﻴﻬﺎ‬ ‫ﺎ‬9‫ﺎﻧﺎت ﻳﻮﻣ‬9‫ﺘﻌﺎﻣﻠﻮ ﻣﻊ ﻗﺎﻋﺪة اﻟﺒ‬Ÿ‫ﻫﻨﺎ ﻫﻴﺘ—ﻠﻢ ﻋﻦ اﻷﺷﺨﺎص اﻟ‚ ﺑ‬

Database Administrators (DBA)


In a database environment, the primary resource is the database itself, and the secondary
resource is the DBMS and related software. Administering these resources is the
responsibility of the database administrator (DBA). The DBA is responsible for authorizing
access to the database, coordinating and monitoring its use, and acquiring software and
hardware resources as needed. The DBA is accountable for problems such as security
breaches and poor system response time. In large organizations, the DBA is assisted by a
staff that carries out these functions.
‫ﻜﻮن‬9‫ﺎﻧﺎت ﺑ‬9‫ﺴﺘﺨﺪم ﻗﺎﻋﺪة ﺑ‬À‫ أي ﻣ—ﺎن ﺑ‬... ‫™ ﻣﻦ ﺷﺨﺺ‬Â‫ا‬› ‫ﺎﻧﺎت اﻟﻤﺴﺘﺨﺪﻣﺔ ﻣﻦ‬9‫ﺪﻳﺮ ﻗﺎﻋﺪة اﻟﺒ‬9‫ﻫﻮ اﻟﺸﺨﺺ اﻟ‚ ﺑ‬
}
DBMS‫ واﺣﺪ ﻫﻮ ال‬¤‫وﺗﺎ‬h ‫ﺎﻧﺎت ﻧﻔﺴﻬﺎ‬9‫ اول واﺣﺪ واﻫﻢ واﺣﺪ ﻫﻮ ﻗﺎﻋﺪة اﻟﺒ‬... ‫ﺎﻧﺎت‬9‫ ﺗﺨﺺ ﻗﺎﻋﺪة اﻟﺒ‬resources ‫ﻪ‬9‫ﻓ‬
‫ﺔ‬9‫ﻪ ﺻﻼﺣ‬9‫ﻣ” ﻟ‬ } “ ‫ﺤﺪد‬9‫ ﻫﻮ اﻟ‚ ﺑ‬admin‫ﻞ دە ﻣﻦ اﺧﺘﺼﺎر ال‬ƒ ‫دارة‬å‫ و‬... ‫ﺎﻧﺎت‬9‫ﻪ ﻋﻼﻗﺔ •ﻘﺎﻋﺪة اﻟﺒ‬9‫واي ﺑﺮﻧﺎﻣﺞ ﻟ‬
‫ ﻣﺤﺘﺎﺟﻪ‬hardware ‫ﻄﻠﺐ أي‬k ‫ﺘﺎﺑﻊ اﻻﺳﺘﺨﺪام و‡ﻄﻠﺐ أي ﺑﺮاﻣﺞ ﻣﺴﺎﻋﺪة او‬Ÿ‫ﺎﻧﺎت وﻫﻮ اﻟ‚ ﺑ‬9‫اﺳﺘﺨﺪام ﻗﺎﻋﺪة اﻟﺒ‬
› ‫ﺔ‬9‫ﻞ اﻟ‚ ﻣﻤﻜﻦ ﺗﺤﺼﻞ ذي ﻣﺜﻼ اﺣﺘﻤﺎﻟ‬æ‫ﻌﻤﻞ ﺣﺴﺎب ﻟﻠﻤﺸﺎ‬k ‫ﻤﺎن ﻫﻮ اﻟ‚ ﻻزم‬ƒ‫ﺎﻧﺎت و‬9‫ﻋﺸﺎن ﻗﺎﻋﺪة اﻟﺒ‬
‫اﺧ™اق او‬
.‫ﺎﻧﺎت‬9‫ ﻗﺎﻋﺪة اﻟﺒ‬žh } è•
ç ‫ او‬hacking

Page 11 of 40
Database Designers
Database designers are responsible for identifying the data to be stored in the database
and for choosing appropriate structures to represent and store this data. These tasks are
mostly undertaken before the database is implemented and populated with data. It is the
responsibility of database designers to communicate with all prospective database users
in order to understand their requirements and to create a design that meets these
requirements. In many cases, the designers are on the staff of the DBA and may be
assigned other staff responsibilities after the database design is completed. Database
designers typically interact with each potential group of users and develop views of the
database that meet the data and processing requirements of these groups. Each view is
then analyzed and integrated with the views of other user groups. The final database
design must be capable of supporting the requirements of all user groups.
}“
‫ﻘﺎ•ﻠﻮ‬k ‫ﺎﻧﺎت ﻣﻬﻤﺘﻬﻢ اﻧﻬﻢ ﻳﺮوﺣﻮ‬9‫ﻣﺼﻤﻤ” ﻗﻮاﻋﺪ اﻟﺒ‬ }“
‫ وﻟ„ﻦ •ﺎﺧﺘﺼﺎر‬... ‫ﻪ ﻣﻔﻬﻮم‬9‫•ﺎﻻﻧﺠﻠ™ي ﻫﺘﻼﻗ‬ ‫ﻼم‬Ë‫ﻟﻮ ﻗﺮات اﻟ‬
} } }
‫ﻌ~ ﻣﻦ اﻻﺧﺮ‬k ‫ﻞ ﻳﻮم‬ƒ ‫ﺘﻌﺎﻣﻠﻮ ﻣﻌﺎﻫﺎ‬Ÿ‫ﺤﺘﺎﺟﻮﻫﺎ او ﺑ‬9‫ﻛﺔ ﻣﺜﻼ و‡ﺠﻤﻌﻮ ﻣﻨﻬﻢ ﻣﻌﻠﻮﻣﺎت ﻋﻦ اﻟﺪاﺗﺎ اﻟ‚ ﺑ‬ª̀‫ اﻟ‬žh ”‫اﻟﻤﻮﻇﻔ‬

‫ وﻣﻤﻜﻦ‬concepual design‫ او ال‬ERD‫ و‡ﻌﻤﻠﻮ ال‬business requirements‫ﺎﺧﺪو ﻣﻨﻬﻢ ﻣﻌﻠﻮﻣﺎت ﻋﻦ ال‬k
.Administrator‫ او ال‬DBA‫ اﻟ‚ ﺗﺤﺖ ال‬staff‫ﻜﻮﻧﻮا ﻣﻦ ﺿﻤﻦ ال‬k

End Users
They use the data for queries, reports and some of them update the database content.
End-users can be categorized into:

 Casual: access database occasionally when needed but they may need different
information each time. They use a sophisticated database query interface to specify
their requests and are typically middle- or high-level managers or other occasional
browsers.
}“
‚‫ او اﻟﻤﺴﺘﺨﺪم اﻟﻌﺎدي اﻟ‬casual‫ع ﻫﻮ ال‬±‫ اول ﻧ‬... ‫ﺎﻧﺎت‬9‫ﺴﺘﺨﺪﻣﻮ ﻗﺎﻋﺪة اﻟﺒ‬À‫اﻟﻤﺴﺘﺨﺪﻣ” اﻟ‚ ﺑ‬ ‫ﺘ—ﻠﻢ ﻋﻦ‬Ÿ‫ﻫﻨﺎ ﺑ‬
‫‡ﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة‬±‫ ﺑﺘﻜﻮن ﻣﺨﺼﺼﺔ ﺷ‬interface ‫ﺴﺘﺨﺪﻣﻮا ﺑﺮاﻣﺞ ﻟﻴﻬﺎ‬À¢‫ﻞ ﻳﻮم و‬ƒ ‫ﺎﻧﺎت‬9‫ﺴﺘﺨﺪم ﻗﺎﻋﺪة اﻟﺒ‬À‫ﺑ‬
.‫ﻘﻮ اﻟﻤﺪﻳˆ‡ﻦ ﻣﺜﻼ‬gŸ‫ﺎﻧﺎت ودول ﻓﺎﻟﻐﺎﻟﺐ ﺑ‬9‫اﻟﺒ‬

 Naïve or Parametric: they make up a large section of the end-user population.


 They use previously well-defined functions using standard types of queries
and updates called “canned transactions” against the database.
 Examples are bank-tellers or reservation clerks who do this activity for an
entire shift of operations.

‫ﺎﻧﺎت‬9‫ﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة ﺑ‬Ÿ‫اﻟ™ﻧﺎﻣﺞ دە ﺑ‬


à ‫ﻌﺮﻓﺶ أﺻﻼ ﻫﻞ‬9‫ﻞ ﻳﻮم وﻣ‬ƒ ‫اﻟ™اﻣﺞ‬
à ‫ﺘﻌﺎﻣﻞ ﻣﻊ‬Ÿ‫اﻟﻤﺴﺘﺨﺪم اﻟﺴﺎذج ودە اﻟ‚ ﺑ‬
‫ اوﻧﻼﻳﻦ ﻣﺎ‬é‫اﻟﺒﻨ‬
h ‫ﺸﻮف ﺣﺴﺎ•ﻪ‬À‫ﺎت ﻣﺨﺘﻠﻔﺔ ذي ﻣﺜﻼ واﺣﺪ ﺑ‬9‫ﻌﻤﻠﻮ ﻋﻤﻠ‬9¢‫ﻼت و‬9¢±‫ﺴﺘﺨﺪم اﻟﻤ‬€‫وﻻ ﻻ ذي اﻟﻨﺎس اﻟ‚ ﺑ‬
.‫ﻌﺮﻓﺶ‬9‫ اﻟﺒﻨﻚ وﻫﻮ ﻣ‬žh } ‫ﺎﻧﺎت‬9‫ﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة اﻟﺒ‬Ÿ‫ﻫﻮ ﺑ‬
 Sophisticated:

Page 12 of 40
 These include engineers, scientists, business analysts, and others who
thoroughly familiarize themselves with the facilities of the DBMS in order to
implement their own applications to meet their complex requirements.
 Many use tools in the form of software packages that work closely with the
stored database.
› ‫ﻞ‬9‫واﻟﻤﺤﻠﻠ” ودول ﻻزم ﻳﺘﻌﻠﻤﻮا و‡ﻌﺮﻓﻮ ﺗﻔﺎﺻ‬
‫™ ﻋﻦ‬Â‫ا‬ }“ }“
”‫واﻟﻤﻬﻨﺪﺳ‬ ‫‡ﺔ ذي اﻟﻌﻠﻤﺎء‬±‫” اﻟﻤﺘﻄﻮر‡ﻦ ﺷ‬ } “ ‫دول اﻟﻤﺴﺘﺨﺪﻣ‬
.‫ﺎﺟﺘﻬﻢ‬9‫ﺎﻧﺎت اﻟ‚ ﺗﺨﺪم اﺣﺘ‬9‫ﻌﻤﻠﻮ ﻗﻮاﻋﺪ اﻟﺒ‬k ‫ﻘﺪرو‬k ‫ ﻋﺸﺎن‬DBMS‫ال‬
 Stand-alone:
 Mostly maintain personal databases using ready-to-use packaged
applications.
 An example is a tax program user that creates its own internal database.
 Another example is a user that maintains an address book.
}“
‫ﻌﻤﻞ‬k ‫ﻘﺪر‬k ‫ﺴﺘﺨﺪم ﻓﺎﻟﻐﺎﻟﺐ ﺑﺮاﻣﺞ ﺟﺎﻫﺰة‬À¢‫ و‬ê‫ﺎﻧﺎت ﻟﻼﺳﺘﻌﻤﺎل اﻟﺸﺨ‬9‫ﻌﻤﻠﻮا ﻗﺎﻋﺪة ﺑ‬9‫اﻟﻤﺴﺘﺨﺪﻣ” اﻟ‚ ﺑ‬ ‫ودول‬
.‫ﻪ‬9‫ﺎﻧﺎت ﺧﺎﺻﺔ ﺑ‬9‫ﻣﻦ ﺧﻼﻟﻬﺎ ﻗﻮاﻋﺪ ﺑ‬
System Analysts and Application Programmers
(Software Engineers)
System analysts determine the requirements of end users, especially naive and
parametric end users, and develop specifications for standard canned transactions that
meet these requirements. Application programmers implement these specifications as
programs; then they test, debug, document, and maintain these canned transactions.
Such analysts and programmers—commonly referred to as software developers or
software engineers—should be familiar with the full range of capabilities provided by the
DBMS to accomplish their tasks.
}“
‫ اﻟ‚ ﻫﻤﺎ‬DBMS‫ﻌﺮﻓﻮش ﺣﺎﺟﺔ ﻋﻦ ال‬9‫اﻟﻌﺎدﻳ” اﻟ‚ ﻣ‬ }“
”‫اﻟﻤﺴﺘﺨﺪﻣ‬ } “ ™‫اﻟﻤ‬
‫ﺎﺟﺎت‬9‫ﺤﻠﻠﻮ اﺣﺘ‬9¢‫ﻣﺠ” اﻟ‚ ﺑﻴﻬﻤﻮا و‬ Ã ‫دول‬
}“
.”‫اﻟﻤﺴﺘﺨﺪﻣ‬ ‫ﺎﺟﺎت‬9‫ﻨﺎﺳﺐ ﻣﻊ اﺣﺘ‬€‫ﻞ دە ﻋﺸﺎن ﻳ‬ƒ ‫ﻄﻮرو‬9‫ ﺑ‬.... canned transactions‫ﺴﺘﺨﺪﻣﻮ ال‬À‫ﺑ‬
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

5) Workers behind the Scene


The users who design and develop the DBMS software and related tools, and the
computer systems operators are called “Workers Behind the Scene”.

‚‫ اﻟﻨﺎس اﻟ‬oracle ‫ﻛﺔ‬à ‫ ذي ﻣﺜﻼ‬... Database management system‫ﻌﻤﻠﻮ ال‬9‫دول •ﺎﺧﺘﺼﺎر اﻟﻨﺎس اﻟ‚ ﺑ‬
‫ او اﻟﻨﺎس اﻟ‚ •ﺖ‬.workers behind the scence‫ ﻫﻤﺎ دول ال‬oracle ‫ ﺑﺘﺎﻋﻬﻢ وﺳﻤﻮە‬DBMS‫ﻓﻴﻬﺎ ﻋﻤﻠﻮ ال‬
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Page 13 of 40
‫‪6) Advantages of Using the DBMS Approach‬‬
‫‪Controlling Redundancy‬‬
‫ﺠﻠ™ي ﻫﻨﺎ ﻟ„ﻦ ﻫ‪ª̀Ž‬ح اﻟﻔﻜﺮة •ﺎﻻﺧﺘﺼﺎر ‪ƒ ...‬ﻠﻤﺔ ‪k redundancy‬ﻘﺼﺪ ﺑﻴﻬﺎ اﻟ‪‡Ø‬ﺎدة ﻋﻦ اﻟﺤﺎﺟﺔ‬ ‫ﻣﺸﻬﻨﺤﻂ ‪ƒ‬ﻼم اﻧ “ }‬
‫‪k‬ﻌ~ ا‪k‬ﻪ ﺑﺮﺿﻮ وا‪k‬ﻪ ﻋﻼﻗﺘﺔ •ﻘﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت ‪ ...‬ﺑ‪9‬ﻘﻮل ﻓﺎﻟﻨﻈﺎم اﻟﻘﺪ‪k‬ﻢ ﻗ‪g‬ﻞ اﺳﺘﺨﺪام ﻗﻮاﻋﺪ اﻟﺒ‪9‬ﺎﻧﺎت ‪ƒ‬ﺎﻧﻮ ﺑ‪9‬ﺨﺰﻧﻮا‬ ‫‪} ...‬‬
‫اﻟﺒ‪9‬ﺎﻧﺎت ‪ žh‬ﻣﻠﻔﺎت و‪9¢‬ﻌﻤﻠﻮ ﺑﺮاﻣﺞ ﻣﺨﺼﻮﺻﺔ ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﻠﻔﺎت دي ‪ ....‬دە ﻗﻮﻟﻨﺎە ﻗ‪g‬ﻞ ﻛﺪة ‪ ...‬و‪ƒ‬ﺎن ﺑ‪9‬ﺤﺼﻞ ا‪k‬ﻪ‬‫}‬
‫“}‬
‫وﻣﺴﺠﻠ” اﺳﻢ اﻟﻄﺎﻟﺐ وﺗﺎر‡ـ ــﺦ ﻣ‪9‬ﻼدە وﺳﻨﻪ واﻟﻤﻮاد اﻟ‚‬ ‫“}‬
‫ﻋﺎﻣﻠ” ﻣﻠﻔﺎت ﻟﻠﻄﻠ‪g‬ﺔ‬ ‫ﻣﻮﻇﻔ” اﻟﺸﺌﻮن اﻹدار‡ﺔ‬ ‫“}‬ ‫‪ ...‬ﻣﺜﻼ‬
‫“}‬ ‫“}‬ ‫}‬
‫درﺳﻬﺎ وﺗﻘﺪﻳﺮە ‪ƒ žh‬ﻞ ﻣﺎدة ‪...‬‬
‫ﻋﺎﻣﻠ” ﻣﻠﻔﺎت ﺗﺎﻧ‪9‬ﺔ ﻟﻠﻄﻠ‪g‬ﺔ ﻓﻴﻬﺎ اﺳﻢ اﻟﻄﺎﻟﺐ وﺳﻨﻪ وﺗﺎر‡ـ ــﺦ‬ ‫وﻣﻮﻇﻔ” اﻟﺤﺴﺎ•ﺎت ﺑﺮﺿﻮ‬
‫و‪¢‬ﺎﻟﺘﺎ¼ ﺑ‪À‬ﺴﺘﺨﺪﻣﻮا ﻣﺴﺎﺣﺔ‬ ‫“}‬
‫ﻣﺴﺠﻠ” ﻧﻔﺲ اﻟﺒ‪9‬ﺎﻧﺎت‬ ‫“}‬
‫اﻟﻘﺴﻤ”‬ ‫ﻣ‪9‬ﻼدە واﻟﻤﺼﺎر‡ﻒ اﻟ‚ دﻓﻌﻬﺎ ﻣﺜﻼ ‪ ....‬ﺗﻼﺣﻆ ان‬
‫‪h‬‬
‫ﺗﺨ‪‡Ø‬ﻦ ز‡ﺎدة ﻋﻦ اﻟﺤﺎﺟﺔ او ز‡ﺎدة ﻋﻦ اﻟﻠﺰوم ودە اﻟ‚ اﺳﻤﻪ ‪redundancy‬‬
‫وﻣﺸ‪Ô‬ﺲ ﻛﺪة ‪ ...‬ﻟﻤﺎ ﺑﻨﻌﻤﻞ ﺗﻌﺪ‪k‬ﻞ ﻋ‚ ﺑ‪9‬ﺎﻧﺎت ﻃﺎﻟﺐ ﻻزم ﺗﻌﺪل }‪ƒ ž‬ﻞ اﻟﻤﻠﻔﺎت اﻟ‚ }‪ ž‬اﻷﻗﺴﺎم }‬
‫‪k‬ﻌ~ اﻟﻤﺠﻬﻮد‬ ‫‪h‬‬ ‫‪h‬‬ ‫}‬
‫اﻟﻤ™ول ‪ žh‬اﻟﺘﻌﺪ‪k‬ﻞ ﻣﻀﺎﻋﻒ ‪ ....‬و‪ƒ‬ﻤﺎن اﻧﺖ ﻣﺘﻀﻤ‪Ž‬ﺶ اﻧﻪ ‪ƒ‬ﻞ اﻟﻤﻠﻔﺎت ﻫﺘﺘﻌﺪل أﺻﻼ ودي ﺑ‪À‬ﺴﻤﻮﻫﺎ‬ ‫‪}Ã‬‬
‫}‬
‫‪k‬ﻌ~ ﻣﺜﻼ ﻣﻤﻜﻦ درﺟﺔ ﻃﺎﻟﺐ ‪ ž‬ﻛﻮرس “ }‬
‫ﻣﻌ”‬ ‫}‬
‫‪ inconsistency‬وﻣﺘﻀﻤ‪Ž‬ﺶ اﻧﻬﺎ ﻣﻤﻜﻦ ﺗﺘﻌﺪل ﺻﺢ ‪ƒ ž‬ﻞ اﻟﻤﻠﻔﺎت }‬
‫‪h‬‬ ‫‪h‬‬ ‫}‬
‫}‬
‫ﺗﺎ‪• ¤‬ﺎﻟﻐﻠﻂ ﻳﺘﻜﺘﺐ ‪٩٠‬‬ ‫}‪ ž‬ﻣﻠﻒ “ }‬
‫ﻣﻌ” ﻳﺘﻜﺘﺐ ‪h ٦٠‬‬
‫و‪ ž‬ﻣﻠﻒ ‪h‬‬ ‫‪h‬‬
‫ﻟ„ﻦ } ‪ žh‬ﻗﻮاﻋﺪ اﻟﺒ‪9‬ﺎﻧﺎت ﻣﻔ‪À‬ﺶ ‪ƒ‬ﻞ اﻟﻤﺸﺎ‪æ‬ﻞ دي ﻻن ‪ƒ‬ﻞ اﻟﺒ‪9‬ﺎﻧﺎت ﻣﻮﺟﻮدة } ‪ žh‬ﺣﺘﺔ وﺣﺪة ﻣﻊ •ﻌﺾ و‪9¢‬ﺤﺼﻞ اﻟﺘﻌﺪ‪k‬ﻞ‬
‫ﻣﺮة واﺣﺪة‪.‬‬
‫‪Restricting Unauthorized Access‬‬
‫‪k‬ﻌ~ ﻣﺜﻼ } ‪ žh‬ﻣﻤﻜﻦ ﺗﺮوح ¦ﺸﺘﻐﻞ‬
‫ﻣ” ﻳﺘﻌﺎﻣﻞ ﻣﻊ ﻗﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت }‬ ‫ﻫﻨﺎ ﻋﺎﻳﺰ ‪k‬ﻘﻮل ان ال‪ DBMS‬ﺑ‪À‬ﺴﻤﺤﻠﻚ ﺗﺘﺤ—ﻢ }‪} “ ž‬‬
‫‪h‬‬
‫}‬
‫و‪ž‬‬
‫‪h‬‬ ‫ﻓﻘﻂ‬ ‫ﺑ‪9‬ﺎﻧﺎت‬ ‫ﻋﻦ‬ ‫¦ﺴﺘﻌﻠﻢ‬ ‫اﻧﻚ‬ ‫ﻣﺜﻼ‬ ‫ذي‬ ‫ﻨﺔ‬ ‫ﻣﻌﻴ‬ ‫ﺻﻼﺣ‪9‬ﺎت‬ ‫ﻟ‪9‬ﻚ‬ ‫ﻟ„ﻦ‬ ‫ﻓ̀‪ª‬ﻛﺔ ﻓ‪9‬ﻌﻤﻠﻚ ا‪Â‬ﻮﻧﺖ ﻋ‚ ﺳ‪À‬ﺴﺘﻢ اﻟ̀‪ª‬ﻛﺔ و‬
‫}‬
‫اﻟﺤﺎﻟﺔ دي اﻧﺖ اﺧﺮك ﺗﺠ‪9‬ﺐ داﺗﺎ ﻣﻦ اﻟﺪاﺗﺎ “ﺑ™ ﻟ„ﻦ ﻣﺘﻘﺪرش ﺗﻌﺪل ﻣﺜﻼ و‪ƒ‬ﻤﺎن ﻣﻤﻜﻦ ‪k‬ﻜﻮن ﻣﺸﻤﺴﻤﺤﻮﻟﻚ ¦ﺸﻮف‬
‫‪k‬ﻌ~ ﻣﻤﻜﻦ ﻣ‪9‬ﻜﻮ‪¹‬ﺶ ﻣﺴﻤﺤﻮﻟﻚ اﻧﻚ ¦ﺸﻮف ﻣﺮﺗﺎ•ﺎت اﻟﻨﺎس ﻟ„ﻦ ﻫ‪9‬ﻜﻮن ﻣﺴﻤ‪±‬ح‬ ‫‪ƒ‬ﻞ اﻟﺒ‪9‬ﺎﻧﺎت او ›‬
‫¦ﺴ™ﺟﻊ ‪ƒ‬ﻞ اﻟﺒ‪9‬ﺎﻧﺎت }‬
‫اﻟﻤﺤﺘﺎﺟ” ﻧﻌﺮﻓﻪ } ‪ žh‬اﻟﺠﺰء دە‪.‬‬
‫“}‬ ‫ﻟﻤﻮﻇ “ }‬
‫ﻔ” اﻟﺤﺴﺎ•ﺎت وال‪ ... HR‬دە ه‬
‫‪Providing Persistent Storage for Program Objects‬‬
‫ﺣ~ ‪ Struct‬او ‪ ... object‬ﻗ‪9‬ﻢ اﻟﺪاﺗﺎ دي‬‫ﻣﺘﻐ™ات او ›‬
‫“‬ ‫ﻫﻨﺎ ﺑ‪9‬ﻘﻮل ان ﻣﺜﻼ واﻧﺖ ﺑﺘﻌﻤﻞ ﺑﺮﻧﺎﻣﺞ •ﺎل‪ C++‬و‪¢‬ﺘﻌﺮف‬
‫اﻟﻤ™ﻣﺞ ﻋﺎﻳﺰ اﻟﻘ‪9‬ﻢ دي ﻣﺘﺘﻤﺴﺤﺶ‬ ‫اﻟ™ﻧﺎﻣﺞ ‪k‬ﺤﺼﻠﻪ ‪ run‬وﺧﻼص ‪ ....‬ﻟ„ﻦ ﻓﺮﺿﺎ ‪Ã‬‬ ‫ﺑ‪€‬ﺘﻤﺴﺢ ﻣﻦ اﻟﻤ‪9‬ﻤﻮري •ﻤﺠﺮد ﻣﺎ ‪Ã‬‬
‫}‬ ‫}‬ ‫}‬
‫ﺗﺎ‪ ¤‬و‪Ê‬ﺴﺘﺨﺪﻣﻬﺎ ﻟ„ﻦ‬ ‫ﺧﺎﻟﺺ ﻓﺒ‪k •9‬ﺨﺰﻧﻬﺎ ‪ žh‬ﻣﻠﻒ وﻟﻤﺎ ‪k‬ﺤﺘﺎج اﻟﻘ‪9‬ﻢ دي ﺑ‪9‬ﻌﻤﻞ ﻛﻮد ‪k‬ﺤﻮل اﻟﻤﻠﻒ دە ﻟﻘ‪9‬ﻤﺔ ‪h‬‬
‫اﻟﻤ™ﻣﺞ ‪k‬ﺨﺰن ﻗ‪9‬ﻢ‬‫ﺑﺘﺨ‚ ‪Ã‬‬‫‪h‬‬ ‫ال‪ DBMS‬ﻓ‪9‬ﻪ ﺣﺎﺟﺔ اﺳﻤﻬﺎ ‪ Object-oriented database systems‬ودي ﺧﺎﺻ‪9‬ﺔ‬
‫ﺗﺎ‪k ¤‬ﻘﺪر ¸ﺴﺘﺨﺪﻣﻬﺎ ﻋﺎدي‪.‬‬‫}‬ ‫}‬
‫ال‪ object‬ﻣﺜﻼ ‪ žh‬ﻗﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت وﻟﻤﺎ ‪k‬ﺤﺘﺎﺟﻬﺎ ال‪ DBMS‬ﺑ‪9‬ﺤﻮﻟﻬﺎ ﻟﻘ‪9‬ﻤﺔ ‪h‬‬
‫‪Providing Storage Structures and Search Techniques for‬‬
‫‪Efficient Query Processing‬‬
‫دي ﻣﻤﻜﻦ ﺗﺘﻘﺮاي ﻣﻦ اﻟﻤﺮﺟﻊ وﻣﻌﺘﻘﺪش اﻟﺪﻛﺘﻮر ﻫﻴﺘ—ﻠﻢ ﻋﻨﻬﺎ‪.‬‬

‫‪Providing Backup and Recovery‬‬


‫ﻫﻨﺎ ﺑ‪9‬ﻘﻮل ان ال‪ DBMS‬ﺑ‪9‬ﻜﻮن ﻓ‪9‬ﻪ اﻻﻟ‪9‬ﺔ اﻟ‚ ﺑﺘﺨﻠ‪9‬ﻪ ‪k‬ﻌﻤﻞ ‪ backup‬و‪ restore‬ﻟﻘﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت } ‪ žh‬ﺣﺎﻟﺔ ﺣﺼﻮل‬
‫‪k‬ﻌ~ ﻣﺜﻼ ﻟﻮ ﺣﺪ ﺑ‪9‬ﻌﻤﻞ ‪ transaction‬وﺣﺼﻞ ﻣﺸ—ﻠﺔ اﺛﻨﺎء ﺗﻨﻔ‪9‬ﺬە ﻓﻼزم ال‪k DBMS‬ﻜﻮن ﻋﻨﺪە اﻻﻟ‪9‬ﺔ‬ ‫أي أﺧﻄﺎء ‪} ...‬‬
‫}ا‪› ¤‬‬
‫¸ﺴ™ﺟﻊ ﻗﺎﻋﺪة اﻟﺒ‪9‬ﺎﻧﺎت ﻟﺤﺎﻟﺘﻬﺎ اﻷو¼ ﻗ‪g‬ﻞ ﻋﻤﻞ ال‪.transaction‬‬

‫‪Page 14 of 40‬‬
Providing Multiple User Interfaces
‫ﻘﺪر ﻣﻦ‬k ‫ او واﺟﻬﺔ ﻣﺴﺘﺨﺪم‬graphical user interfaces ‫ او‬GUI ‫ﻜﻮن ﻓﻴﻬﺎ‬k ‫ ﻻزم‬DBMS‫ﻘﻮل ان ال‬k ‫ﻫﻨﺎ ﻋﺎﻳﺰ‬
‫ﺎﻧﺎت و‡ﺘﻌﺎﻣﻞ ﻣﻌﺎﻫﺎ‬9‫ﻌﻤﻞ ﻗﺎﻋﺪة ﺑ‬k ‫ﺧﻼﻟﻬﺎ‬

Representing Complex Relationships among Data


‫ﻌﻀﻬﺎ ﻋﺸﺎن ﻧﻘﺪر ﻣﺜﻼ‬g‫ﺎﻧﺎت او اﻟﺠﺪاول ﺑ‬9‫ﺔ اﻟ‚ ﺗﻮﺿﺢ ﻋﻼﻗﺔ اﻟﺒ‬9‫ﻪ اﻻﻟ‬9‫ﻜﻮن ﻓ‬k ‫ ﻻزم‬DBMS‫ﻘﻮل ان ال‬k ‫ﻫﻨﺎ ﻋﺎﻳﺰ‬
› ‫ﺟﺪوﻟ” او‬
.‫™ او اﻧﻨﺎ ﻧﻌﺪل اﻟﻌﻼﻗﺎت دي‬Â‫ا‬ }“ } “ ‫ﺪة‬k‫ﻧﻌﻤﻞ ﻋﻼﻗﺔ ﺟﺪ‬
”‫ﺑ‬

Enforcing Integrity Constraints

‫ ﺣﺮف‬٢٠ ‫ﺴﺘﻤﺤﻠﻚ ﺗﺤﻂ ﻗﻴﻮد ﻋ‚ اﻟﺪاﺗﺎ ذي ﻣﺜﻼ اﺳﻢ اﻟﻄﺎﻟﺐ ﻻ ﻳﺘﻌﺪى‬À‫ﻜﻮن ﺑ‬k DBMS‫ﻘﻮل ان ﻻزم ال‬k ‫ﻘﺼﺪ‬k ‫ﻫﻨﺎ‬
.‫وﻏ™ە ﻣﻦ اﻟﻘﻴﻮد‬
“ NULL ‫ﺶ‬¹‫ﻜﻮ‬9‫ﻌ~ ﻣﻴﺘﻜﺮرش وﻣ‬k } ‫ﻜﻮن ﻓˆ‡ﺪ او‬k ~‫ﻌ‬k
} primary key ‫ﻜﻮن‬9‫ ﻫ‬ID‫او ان ال‬

Permitting Inferencing and Actions Using Rules and


Triggers
A trigger is a form of a rule activated by updates to the table, which results in performing
some additional operations to some other tables, sending messages, and so on.

DBMS‫ﻘﻮﻟﻨﺎ ان ال‬k ‫ ﻓﻬﻨﺎ ﻋﺎﻳﺰ‬... ‫ﺔ‬9‫ﻘﺼﺪ ﺑﻴﻬﺎ ﺣﺪث ﻟﻮ ﺣﺼﻞ ﻫﻴﺆدي ا¼ ﺣﺪوث •ﻌﺾ اﻻﺣﺪاث اﻟﺘﺎﻧ‬k trigger ‫ﻠﻤﺔ‬ƒ
‫ﺎﻧﺎت‬9‫ ﻣﺜﻼ ﻟﻘﺎﻋﺪة اﻟﺒ‬update ‫ﺤﺼﻞ‬9‫ ﻟﻮ ﺣﺼﻠﺖ ﺑ‬condition ‫ او ﺗﺤﻂ‬trigger ‫ﻠﺔ اﻧﻚ ﺗﺤﻂ‬9‫ﻜﻮن ﻓﻴﻬﺎ وﺳ‬9‫ﺑ‬
.‫ﺎﻧﺎت ﻣﻌﻴﻨﺔ‬9‫ﻟﺒ‬

Additional Implications of Using the Database Approach

٢٢ ‫ﻣﻤﻜﻦ ﻗﺮاﺗﻪ ﻣﻦ اﻟﻤﺮﺟﻊ ﺻﺤﻔﺔ‬

Page 15 of 40

You might also like