صفحه 1:
fas pb a
7
4
صفحه 2:
** دياگرامهاي 11 با يك فرآیند سيستماتيك ساخته ميشوند.
** طراحي با يك نگاه جامع و تصویر بزرگ شروع شده و جزئیات جهت آماده شدن
براي اجرا در يك فرآیند پویا به تصویر بزرگ اضافه گردد.
© مایکروسافت ویزیو(۷1510 ۷110۳09081 به شما در این زمینه كمك می
اكند.
صفحه 3:
۳
صفحه 4:
#*موجودیتها عبارتند از: افراد. مکانها. چیزهاء و
رخدادهايي که درباره آنها داده و اطلاعات جمعآوري
اطلاعات درباره موارد بالا در جداول رکورد ميشوند.
صفحه 5:
** تعیین موجودیتها:
*" براي تعيين موجوديتها بايستي به دو سؤال زير جواب داد:
ليا بيشاز يكيوجود دارد: ليا بسیشاز یسك نسمونه از موجودیها -1
تون ؟ بسیشاز یسعضو؟ بسیشراز ماگ بسیثراز ی
حسانگ
* اگر پاسخ موارد بالا آري باشد. احتمالا نیاز به جدول جدا براي نگهداري
اطلاعات هستید.
صفحه 6:
* تعیین موجودیتها:
* براي تعیین موجودیتها بايستي به دو سوّال زیر جواب داد:
(1۳51810065)آیا در طینمانت غییرلتوجود دارد: آیا تعداد نمونهها -2
در طیزمانتسغییر میکند؟ یا تسعداد لعضا لفزلیشیا کاهشمیابد؟ لیا
تعداد ماقانقا در طیزمانتغییر موكند؟ ليا حساهجا در طیساللضافه
یا حذفم یه وند؟
1 رت پاسخ آری ai
بر صورت پاسخ آري. دلالت بر نياز به يك جدول مجزا مينماید.
صفحه 7:
۹
+
تعیین موجودپتها:
#۴ هر موجودیت را در يك جدول با ترسیم (BOX) aie ce و ثبت يك
نام یکتا براي آن جدول نمایش ميدهيم.
در ابتدا تمامي موجوديتهاي بالقوه را در جداول مدل کنید: معمولا
حذف جدول آسانتر از خلق جدول جدید است.
صفحه 8:
۰
** روابط جداول را بهم مرتبط مي كنند.
**روابط را با اتصال جداول توسط خطوط نشان دهید.
** هر جدول حداقل بايستي به يك جدول دیگر در پایگاه داده متصل
شود: مگر اينکه پایگاهداده تنها شامل يك جدول باشد.
صفحه 9:
در آغلب موارد. يك رکورد در يك جدول مرتبط با چندین رکورد در
جدول يا جداول دیگر است: يك مشتري چند سفارش دارد.
این رابطه را با قرار دادن يك خط مستقیم که به خط سهتايي پایان ميبابد
نشان دهید: يك مشتري چندین سفارش میدهد.
صفحه 10:
** روابط جند به چند: يك جدول مرتبط جدید خلق ميکند.
**طبق قواعد طراحي؛ دو جدول ممكن است با يك خط مستقيم
منتهى به سه خط نشان داده شوند؛ در اين صورت يك جدول
مرتبط جديد بين دو جدول أورده مىشود.
صفحه 11:
** تعیین روابط:
(Associative Table) bs. Jj” رکوردهای بین دو
جدول والدین را بهم مرتبط ميکند.
# در نمودار پایگاه داده. هر دو جداول والدین بايستي به جدول رابط
جدید اشاره کنند.
صفحه 12:
*#در شرایط کسب و کاره موجودیتها اغلب داراي
ویژگیهای(۵171011]65) زيادي هستند.
** ويزكيها را بعنوان فيلدها در جدول مدل كنيد.
**اكر جدول كام اول تنها داراي يك فیلد باشد. در این صورت بسادگي
ممکن است فيلدي از جدول دیگر باشد تا اينکه بهتنهايي يك جدول
باشد: سعي كنيد آنرا به جدول مربوطه منتقل کنید.
صفحه 13:
تمامی جداول بایستی يك کلید اولیه(/161 ۳۳1۳۲۵۲7) که
بصورت یکتا هر رکورد را تعیین کند. داشته باشند.
**يا يك فيلد از كام سوم كه شرايط يك كليد اوليه را ارضاء
(يكتليى. filam غير تهىء غير بههنكام شونده) را انتخاب كنيد يا
فيلد جديدي كه بتواند كليد قرار كيرد را تعريف كنيد.
* تمامي جداول فرزند(131165' 010110) بايستي يك فيلد كليد
خارجي بوده تا ركوردهاي فرزند (1360010 01110)) را با
والدین مربوطه متصل کند.
صفحه 14:
**تعيين كليدها:
** كليد اوليه والدين بايستي قبل از كليد خارجي در فرزند تعريف
شود: كليد خارجي بصورت مؤثر و Duplicate) 5 cy ads
از کلید اولیه والدین است.
** کلید اولیه والدین بايستي قبل از کلید اولیه در فرزند تعریف شود:
يك جدول فرزند گاهي از يك کلید خارجي از والدین بعنوان بخشي
از کلید اولیه خود استفاده ميکند.
صفحه 15:
# بنابراین» کلیدها از خارج به داخل تعریف میشوند: انتخاب
كليدهاي والدین و حرکت بطرف داخل جهت تعریف كليدهاي
فرزندان بعنوان يك کلید خارجي در هر جدول فرزند مربوطه به آن
والدین. سپس حرکت بطرف جدول والدین بعدي.
صفحه 16:
۰
* تعیین نوع دادهها و اندازه(5126) هر ویژگی(6ا تاش
بعنوان گام نهايي.
**هر ويژگي بايستي يك نوع és) 5 osy(Data Type) oslo
اطلاعاتي که در آن ويژگي ذخیره ميشود را توصیف ميکند.
#اکثر "نوع دادهها" (۰۳3706 1(22)شامل يك بعد اندازه
رطم1(11۳06181 5126) جهت بیان مقدار اندازمي ماکزیمم که
ممکن است در ویژگی (۵:710126) ذخیره شود میباشند: تا
طول 20 کاراکتر.
صفحه 17:
۰
4.
كليدهاي اوليه و خارجي بايستي با نوع داده و اندازه آن مطابقت
داشته باشند؛ زيرا اين كليدها مربوط به همان مجموعه مقادير
** بدعبارت تكنيكيء مي كوييم كليدهاي اوليه و خارجي در يك دامنه
(00123112آ)قلبل تعريف بوده كه دامنه به مفهوم يك مجموعه از
مقادير است.
صفحه 18:
ASL داده تکحدوله
ا ل 5
صفحه 19:
*#* کلوپ 101571116 51617 میخواهد دادههای مربوط به اعضاء خود
را جمعآور ي کند.
* براي اعضاء اطلاعات زیر ضروري است:
و (۴۳2811)آدیس| کترینیکی,( 2106 ]۱[ )لطاهاتتمامن شاملنام -1
cals 2Js(Phone Number) 1
2- تجربه: مبتدی zh___.(Beginner).
ug.(Intermediate). «3 ,._.(Advance).
صفحه 20:
*#*مسئله بسیار ساده است: تنها نیاز به يك (Member) Joe
** كامها بصورت متوالي عبارتند ازن
1
2
3
جداول(182165)
روابط (Relationships)
(Fields) bats
(Keys) bus
(Data Types)esls انواع
صفحه 21:
* مقدار جدول تنها يكي است:
Sky-Member
صفحه 22:
* رابطه وجود ندارد زیرا فقط يك جدول وجود دارد:
Sky-Member
صفحه 23:
“
** دادههایی که در بیان مسئله مشخص شوند.
Sky-Member
Email
Fname
Lname
Phone
Jumps
Equip
Level
صفحه 24:
al Sle) Email * کنایهر عضو انتخابمیگ ردد.
Sky-Member
Key
Email»
Fname
Lname
Phone
Jumps
Equip
Level
صفحه 25:
ed pete ۱ ag
شکل دادهها بصورت زیر است:
Sky-Member
Email CHAR(20)
Fname CHAR(15)
Lname CHAR(15)
Phone CHAR(12)
Jumps NUMBER
صفحه 26:
۲
*#* شکل دادهها بصورت زیر است:
2ب
وت ده نوی زرد
luce@ohio.edu Tone Battal eo
megann@ohio. Thom Day Fnam CHAR(1
e 5)
Li
Sean uuce 592-0646 nam CHAR(
McGann 592-1111 5 e 5)
592-2222 17 Phone CHAR(1
20 N 2)
B Jumps NUMBE
1 1 R
A Equip CHAR(1)
Level CHAR(1)
دانشكاه صنعتي أميركبير
صفحه 27:
پایگاه داده 517-1101۳16۲( افتی )
ed pete دا nat
شکل دادهها بصورت زیر است:
Phone Jumps Equip Level
592- 5 14 8
0646
592- 12 ا 1
1111
592- 20 4 A
2222
Lname
Day
Luce
Fnam
e
John
Thom
Sean
Email
dayj@ohio.com
luce@ohio.edu
megann@ohio.e
du
صفحه 28:
دورفم يايكاه داده ۳ cael) یکبهچند
(One-To-Many)
صفحه 29:
# بسياري از مسائل نیازمند چندین جدول ميباشند.
ae
طراحي: #3
بیان مسئله
۲ پردازش (فرآیند)
صفحه 30:
* طراحی پایگاه داده براي يك دسترسى (416301©6) ويدئو برخط
(001176)) جهت ردیلبی زمان هزینفبر استفاده شده توسط هريك
از اعضاء آن است.
** آ رکاد نیاز دارد تا اطلاعات پايهاي مربوط به اعضاء خود را جم عآوري
کند که شامل آدرس.هاي )5525 (Emails) لغات
عبور(885۲۷0۲05) جهت دسترسی برخط آرکاد. نام آنها
Lael (Phone),,ab o,l5 5 (Names) میباشد.
صفحه 31:
** بعلاوه هر بار که يك عضو به ۸۵۲0۵016 دسترسي پیدا ميکند. يك
1 مربوط به شماره هویت ol; 5 ID Number)
شروع و خاتمه ۹6551010 بايستي ثبت شوند.
۲
** بنابراين ميتوان زملني كه عضو روي Cale سپري کرده و درنتیجه
ميزان هزينهى استفاده را محاسبه كرد.
صفحه 32:
5 3 0. ” ۰ so
**در اینجا دو موجودیت بايستي تعیین نمود:
1 اطلاعات راجعبه اعضاء داریم: لین بمعنی داشتن جدولی بنام
۲ است.
2. اطلاعات ملاقات (۷1511) نیازمند جدول جديدي است: زیرا
اعضاء چندین ویزیت در ۸۲0206 دارند: نام جدول
VISIT
صفحه 33:
*#رابطهی بین اعضاء و ویزیتها بین جداول يكبهچند است:
يك عضو ميتواند چندین ویزیت داشته باشد. لیکن يك
ويزيت خاص. مربوط
call, يكبهجند: يا
در جدول دوم رابطه
به يك عضو است.
ك سطر در يك جدول با چندین سطر
دارد(مطابقت میکند) و يك سطر در
جدول دوم تنها با یكسطر از جدول Jol رابطه (مطابقت)
دارد.
صفحه 34:
دو موجودیت: اعضاء و ویزیتها
Py
VISIT
صفحه 35:
4
“*يك عضو جندين ويزيت انجام ميدهد و هر ويزيت مربوط
به يك عضو اسث
11
صفحه 36:
ا انا
Email
Password
Fname
Lname
Phone
| تست
ID
Date-Time-In
Date-Time-Out
صفحه 37:
MEMBER 7
** ۳۳۵11 ب صورتیکتا يك عضو را مشخص Email
Password 4 0 9
موكند و 110 بصويتيكتا يكويزيتوا مشخص ممم
Lname ۲
Phone oe
** كليد اوليه !3 a (MEMBER) jl,
كليد خارجي در فرزند 1D cul (VISIT) ۳
‘mail
Date-Time-In
Date-Time-Out
صفحه 38:
21115151
Email CHAR(20)
Password CHAR(10)
Fname CHAR(10)
Lname CHAR(10)
Phone CHAR(12)
17 CHAR(20)
EMBE ( CHAR(20)
Email
Date-Time-In DATE
Date-Time-Out DATE
صفحه 39:
8
3
Email CHAR(2
0 لدمم.منطهی زود 4
luce@ohio.ed: rocket ات لير
1 mcgann@ol سر ام Fname CHAR(1
2 du Thom Day 0)
arrow Luce 592-0646 Lname CHAR(1
2 Sean 592-1111 0)
2 MeGann Phone, CHAR(1
592-2222 VIS!
2 501 ID CHAR(2
9 dayj@ohio.com 0)
oO 003 MEMBER $~ CHAR(2
luce@ohio — 25.jun-02 ۹ 0
se} Zz mcgann@o u 14:00 mat )
(em luce@ohi du 25-jun-0: 95 jun-02 Date-Time-In DATE
رت 27 jun 27-Jun-02 1 12:00 17:30 Date-Time-Out DATE
59 14:02 ووو ۳
= = 18:00
27-jun-be
18:30
صفحه 40:
نمایش عمود یایگاه داده ۲6006
MEMBER
Email Password Fname Lname Phone
dayj@ohio.com Rocket John Day 592-
0646
luce@ohio.edu Bullet Thom Luce 592-
1111
megann@ohio.edu Arrow Sean McGan 592-
۳ 3555
VISIT
ID MEMBER $ Date-Time-In Date-Time-Out
Email
001 dayj@ohio.com 25-jun-02 14:00 25-jun-02 17:30
002 luce@ohio.edu _25-jun-02 12:00 25-jun-02 18:00
003 megann@ohio.e 27-jun-02 10:00 27-jun-02 11:30
du
2 15:00 27-jun-02 18:30
004 luce@ohio.edu 2
صفحه 41:
زر لم كن
حى يايك
م
یب
ت
‘To-Many)
(Many
صفحه 42:
** دربرگيرندهي روابط پیچیدهتر بین جداول است.
** سطرهاي يك جدول مرتبط با سطرهاي زيادي از جدول
دوم. و يك سطر در جدول دوم مرتبط با سطرهاي زيادي
از جدول اول ميباشند.
صفحه 43:
50 / ;
* دکتر 45 رئيس ديارتمان مو
يقي در يك دانشگاه است؛ وي اخیرا
يك رایلنه خريداري نموده و ميخواهد همصي درسهايي که در
دپارتمان ارائه ميگردد را ثبت کند؛
* پنج مدرس در دپارتمان وجود دارند که اطلاعات آنها بایستی
شماره تلفن.
ثبت شود: شماره JID نام مکان دف
براي هر درس این اطلاعات لازم است: کد درس عنوان. تعداد
واحد.
صفحه 44:
هنگام ارائمي درسها. بخش واحد Call) (nls oles ch
۲ دریافت ميکند که از طریق آن شماره دپارتمان
درميبابد که چه مدرسي آن درس را تدریس ميکند.
oe
* دکتر 26 ميخواهد ثبت کند که چه دانشجوياني چه درسهايي را
گرفتهاند: شماره(11 دانشجو نام. ۳0010 1(0110, شماره
X wo میخواهد بدلند که دانشجوبان چه نمرهاي را در هر درس
کسب کردهاند.
صفحه 45:
۳ 5906 ۲ ۲
سه موجودیت (جدول) تعریف ميشوند: مدرس, درس, دانشجو
INSTRUCTOR STUDENT
۳9۲
صفحه 46:
1 يك مدرس چندین درس را تدریس میکند:
INSTRUCTOR STUDENT
COURSE
صفحه 47:
2. يك درس مي تواند هربار توسط چندین مدرس ارائه شود:
INSTRUCTOR STUDENT
Y
JN
6001025
صفحه 48:
3 Cae ee
Be ery
3 روابط چندبهچند را با يك جدول
ارتباطي
جدید(6 ۸850616117
SECTION ts (Table
تال ميزرکنيم:
صفحه 49:
۳
INSTRUCTOR STUDENT
4
هر دانشجو درحقیقت
در 5۳5010 درگیر «لامتطظ
میشود نه در 0017168: هر
دانشجو در چندیین بخش درگیر
صفحه 50:
INSTRUCTOR STUDENT
صفحه 51:
ed ee
Poe ee
دس
6 روابط چندبهچند را با يك جدول
ارتباطي
جدید(6 ۸65061617
صفحه 52:
گام سوم ۳
ID
8 ** توجه شود که چگونه
Fname Fname
گزینه gay Call-no Lname Lname
Office Dorm
براي جدول Phone Phone
SECTION 5 فيلد
Grade 4 براي
SECTION ENROLL
(Calkno ——< Grade ۱8011( است.
صفحه 53:
ESOS UES
105100
ID
8 1 کلید اوليه را براي يك
Fname Fname
Lname Lname 1 انتخاب کنید:
Office Dorm
Phone Phone 0 براي جدول
INSTRUCTOR 1
SECTION
Call-no
صفحه 54:
ESOS UES
ID
18 3. انتخاب يك کلید اولیه براي
Fnanie Fname
Code 3/5 Parent Lname Lname
Office Dorm
COURSE براي Phone Phone
4
SECTION ENROLL
Call-no ——<‘Grade
INSTRUCTOR$I
Za
COURSE
Code
Title
Hours
صفحه 55:
INSTRUCTOR 511101371
1D 5 4. بازتوليد كليد اوليه بعنوان يك
Fnanie Fname
Lname Lname کلید خارجي در Child
Office Dorm 1
Phone Phone عبارت
COURSE$code A A
518011011 تا براي
Call-no Grade
INSTRUCTORSI
D
صفحه 56:
INSTRUCTOR 511101371
ID 5 5. انتخاب يك كليد اوليه براي يك
Fnanie Fname 1
Call- =,Le Parent Lname Lname
Office Dorm
Phone Phone 0 براي SECTION
SECTION
Call-ne Grade
INSTRUCTORSI
D
صفحه 57:
INSTRUCTOR STUDENT
بازتولید کلید اولیه بعنوان يك .6 ID ID
۱ Fnanie Fname
Child کلید خارجي در Lname Lname
1 Office Dorm
عبارت Phone Phone
SECTION$Call- A A
SECTION
ENROLL no =
Call-ne Grade
AURA SECTION$Call-no
Counstscone
60010825
Code
Title
Hours
صفحه 58:
INSTRUCTOR 511101371
ID 5 7. انتخاب يك كليد اوليه براي
Fnanie Fname
ID gj) ‘Parent Lname Lname
Office Dorm
Phone Phone براي STUDENT
SECTION
Call-ne Grade
AURA SECTION$Call-no
=
COURSE
Code
Title
Hours
صفحه 59:
511101371
ID
Fname
Lname
Dorm
Phone
> 60
SECTION$Call-no
STUDENTSID
INSTRUCTOR
18 9. انتخاب يك کلید اولیه براي
Fname
Lname
Office
Phone
A
SECTION
Call-ne
INSTRUCTORSI
D
=
COURSE
Code
Title
Hours
جدول مرتبط باقیمانده:
عبارات
STUDENT$ID »3
SECTION$Call-
ENROLL gl, no
صفحه 60:
511101371
ID CHAR(2) 1D CHAR(4)
Fname CHAR(15) Fname CHAR(15)
Lname CHAR(15) Lname — CHAR(15)
Office CHAR(11) Dorm CHAR(4)
Phone CHAR(12) Phone CHAR(12)
SECTION ENROLL
Call-no CHAR(5) > CHAR(4
INSTRUCTOR$ CHAR(2) SECTIONS$Call- )
1D CHAR(9) no CHAR(S
COURSESCot STUDENT$ID )
CHAR(2
COURSE 1
Code CHAR(9)
Title CHAR(15)
Hours NUMBER