University er-diagram

SanchaiYordprom 9,091 views 32 slides Mar 29, 2016
Slide 1
Slide 1 of 32
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32

About This Presentation

Assignment1 of Database


Slide Content

University Database Group 9 010123121 Database Systems Assignment 1

หนังสืออ้างอิง Developing Web-Enabled Decision Support Systems Using VB.NET and ASP.NET by Abhijit A. Pol and Ravindra K. Ahuja

University ER Diagram

ER Diagram to Relation Mapping

Step 1 : Mapping of Regular Entity Types สร้าง Relation Mapping จาก Entity และ Attribute PERSON Name Email Address SSN Phone Nationality Sex FACULTY Rank Jointdate STUDENT Type Class DEPARTMENT Name Address Phone DeptID

COLLEGE Name Address Phone CollegeID SECTION SectionID Year Capacity Semester COURSE CourseID Name CreditHours TextBook

Step 2 : Mapping of Weak Entity Types - skip เนื่องจากไม่มี Weak Entity Step 3 : Mapping of Binary 1:1 Relationship Types - skip เนื่องจากไม่มี Binary 1:1 Relationship

Step 4 : Mapping of Binary 1:N Relationship Types สร้าง foreign key จาก relation FACULTY Rank Jointdate Rank Jointdate StartDate F_SSN F_DeptID STUDENT Type Class Type Class Grade S_SSN S_DeptID

DEPARTMENT Name Address Phone DeptID Name Address Phone DeptID Dept_CollegeID SECTION SectionID Year Capacity Semester SectionID Year Capacity Semester Fac_ID Cou_ID COURSE CourseID Name CreditHours TextBook CourseID Name CreditHours TextBook Cou_DeptID

Step 6 : Mapping of Multiple Attribute - skip เนื่องจากไม่มี Multiple Attribute

Data and Code…

PERSON : ชื่อ อีเมล์ ที่อยู่ รหัสบัตรประชาชน เบอร์โทรศัพท์มือถือ สัญชาติ และ เพศ FACULTY : ระดับ วันที่เข้าร่วม STUDENT : type class DEPARTMENT : ชื่อ ที่อยู่ เบอร์โทรศัพท์มือถือ department ID COLLEGE : ชื่อ ที่อยู่ เบอร์โทรศัพท์มือถือ college ID SECTION : section ID ปีที่เรียน ความจุของนักเรียน เทอม COURSE : course ID ชื่อ course หน่วยกิต หนังสือเรียน การเก็บข้อมูล

Example Generate Code Sqlite3 ###Person Generate### import random, string, sqlite3 from string import ascii_lowercase from random import randint conn = sqlite3.connect(' university.db ') c = conn.cursor () i = 1 key = 1 city = ['A','B','C','D','E','F'] nationalities = [' Thai','Chinese','American '] sexs = ['Male' , 'Female']

while i <= 100000000: fname = ''.join( random.choice ( ascii_lowercase ) for i in range(5)) lname = ''.join( random.choice ( ascii_lowercase ) for i in range(5)) person_name = fname + ' ' + lname email = ''.join( random.choice ( ascii_lowercase ) for i in range(5)) + '@mail.com' address = str ( randint (0,300))+' '+city[ randint (0,5)] ssn = key phone = random.randint (0000000000,9999999999) nationality = nationalities[ randint (0,2)] sex = sexs [ randint (0,1)]

exec_str = 'insert into PERSON values ("'+ person_name +'","'+email+'","'+address+'",'+ str ( ssn )+','+ str (phone)+',"'+nationality+'","'+sex+'")' c.execute ( exec_str ) if((i%10000)==0): conn.commit () print( i ) key = key+1 i = i+1 conn.commit () conn.close ()

สรุปข้อมูลภายใน University Database บน Sqlite3 ประกอบด้วย tables ทั้งหมด 7 tables PERSON มีข้อมูล 101,000,000 คน STUDENT มีข้อมูล 80,000,000 คน FACULTY มีข้อมูล 20,000,000 คน DEPARTMENT มีข้อมูล 12 สาขา COURSE มีข้อมูล 100,000 course COLLEGE มีข้อมูล 11 มหาวิทยาลัย SECTION มีข้อมูล 200,000 section ขนาดไฟล์ของ Database 18.4 GB

Example Generate Code MySQL import random, string, mysql.connector , time from string import ascii_lowercase from random import randint start_time = time.time () conn = mysql.connector.connect (user='root', password='1234', host='127.0.0.1', database='university') c = conn.cursor () i = 1 key = 1 city = ['A','B','C','D','E','F'] nationalities = [' Thai','Chinese','American '] sexs = ['Male' , 'Female']

while i <= 101000000: fname = ''.join( random.choice ( ascii_lowercase ) for i in range(5)) lname = ''.join( random.choice ( ascii_lowercase ) for i in range(5)) person_name = fname + ' ' + lname email = ''.join( random.choice ( ascii_lowercase ) for i in range(5)) + '@mail.com' address = str ( randint (0,300))+' '+city[ randint (0,5)] ssn = key phone = random.randint (0000000000,9999999999) nationality = nationalities[ randint (0,2)] sex = sexs [ randint (0,1)]

exec_str = 'insert into PERSON values ("'+ person_name +'","'+email+'","'+address+'",'+ str ( ssn )+','+ str (phone)+',"'+nationality+'","'+sex+'")' c.execute ( exec_str ) if((i%10000)==0): conn.commit () print( i ) key = key+1 i = i+1 conn.close () print ('--- %s seconds ---' %( time.time ()- start_time ))

สรุปข้อมูลภายใน University Database บน MySQL ประกอบด้วย tables ทั้งหมด 7 tables PERSON มีข้อมูล 101,000,000 คน STUDENT มีข้อมูล 40,060,000 คน FACULTY มีข้อมูล 20,000,000 คน DEPARTMENT มีข้อมูล 12 สาขา COURSE มีข้อมูล 100,000 course COLLEGE มีข้อมูล 11 มหาวิทยาลัย SECTION มีข้อมูล 200,000 section

ผลการทดลอง

สเปค ที่ใช้ในการทดสอบ รุ่น MSI GP62 6QF-602TH Leopard Pro Lenovo Yoga 500 OS Windows 10 Pro Windows 10 Pro CPU Intel Core i7-6700HQ (2.60 GHz, 6 MB L3 Cache, up to 3.50 GHz) Intel Core i5-5200U (2.20 GHz, 3 MB L3 Cache, up to 2.70 GHz) Ram 8 GB DDR4 8 GB DDR3L Hard Disk SSD 550/450 mb /s HDD 1 TB 7200 RPM 1 TB 5400 RPM Graphic System NVIDIA GeForce GTX 960M (4GB GDDR5) NVIDIA GeForce GT 940M (2GB GDDR3)

ขั้นตอนการเข้าถึงข้อมูล เพื่อ หา นักศึกษาที่เรียนอยู่ใน KMUTNB

ขั้นตอนการเข้าถึงข้อมูล เพื่อหา นักศึกษาที่เรียนอยู่ใน KMUTNB

ทดลอง query บน Sqite3 เพื่อหา นักศึกษาที่เรียนอยู่ใน KMUTNB

ทดลอง query บน Sqite3 เพื่อหา นักศึกษาที่เรียนชายอยู่ใน KMUTNB

ครั้งที่ 1 ครั้งที่ 3 ครั้งที่ 2 เปรียบเทียบ Query 3 ครั้ง บนเครื่องเดียวกัน โดยใช้ HDD เพื่อ หา นักศึกษาที่เรียนชายอยู่ใน KMUTNB

เปรียบเทียบระหว่าง HDD กับ SSD HDD SSD

เปรียบเทียบระหว่าง HDD กับ SSD HDD SSD

ทดลอง query บน MySQL

จัดทำโดย 1. นายธนพล เพ็ชรชูชาติ 5601012620021 2. นายธนดล เต ชะวัชรีกุล 5601012630094 3. นายสันต์ชัย ยอดพรหม 5601012630256
Tags