7121311 การบรหารและจิ ดการฐานขั...
TRANSCRIPT
S hit hS hit h ChCh7121311 7121311 การบรหารและจดการฐานขอมลการบรหารและจดการฐานขอมล
SuphitchaSuphitcha ChanrueangChanrueang
Content :Content :
• ทบทวนความรดานฐานขอมล
• SQL• ทบทวนความรดาน ภาษา SQL• ความรดาน SQL SERVER 2005 EXPRESS Q
ความหมายของระบบฐานขอมลฐ
“ กลมของขอมลทมความสมพนธกน และถก
ไ จดเกบรวบรวมเอาไว อยางเปนระบบ เพอ
ใชป โ ช ”นามาใชประโยชน ”
สงสาคญของระบบฐานขอมลสงสาคญของระบบฐานขอมล
มความสมพนธระหวาง เรคคอรด
สามารถเรยกใชความสมพนธได สามารถเรยกใชความสมพนธได
กาจดความซาซอนของขอมล
ไ ใ เกบขอมลไวทศนยกลาง เพอนามาใชรวมกน
มการควบคมดแลรกษาและกาหนดสทธการใชงานขอมล
ขนตอนการวเคราะหออกแบบฐานขอมล
การวเคราะหปญหา
การศกษาความเปนไปได
การศกษาความตองการของผใช
ศกษาการทางานขององคกรหรอหนวยงาน ศกษาการทางานขององคกรหรอหนวยงาน
จดเกบรวบรวมขอมล โดยวธการ ตาง ๆ
การออกแบบและพฒนา การออกแบบและพฒนา
การจดทาเอกสาร
การออกแบบฐานขอมลขอมลอะไรบางทมความสาคญ และควรเกบในฐานขอมล
ใ ใ วธใดทเหมาะสมในการจดเกบขอมลเหลาน
จะจดเกบขอมลเหลานไวทไหนจะจดเกบขอมลเหลานไวทไหน
6
3 ขนตอนในการออกแบบฐานขอมล3 ขนตอนในการออกแบบฐานขอมลขนตอนในการออกแบบฐานขอมล ประกอบดวยฐ
Conceptual Database Design (แนวคด)Conceptual Database Design (แนวคด)Logical Database Design (ตรรกะ)Physical Database Design (กายภาพ)
7
Conceptual Database DesignConceptual Database Designเปนการวเคราะหความตองการของผใช และกาหนดขอมลเปนการวเคราะหความตองการของผใช และกาหนดขอมลทสาคญทตองการจดเกบ
กาหนด Entitiesกาหนด Entitiesกาหนด Attributesกาหนด ความสมพนธระหวาง Entities และ Attributesกาหนด ความสมพนธระหวาง Entities และ Attributesสราง E-R diagram เพอจาลองความสมพนธระหวางขอมลทงหมดในองคกรทงหมดในองคกร
8
Logical Database DesignLogical Database Designแปลง (mapping) แนวความคดทออกแบบมาในแ ลง ( app g) แนว ว ม แ ม ในขนตอนแรกใหเปนขอมลเชงตรรกะสรางพจนานกรมขอมล (Data Dictionary)ง ( a a o a y)
EntitiesAttributesAttributesData typesDomainsDomainsสทธของผใช
ป (N li ti )การลดรป (Normalization)
9
Physical Database Design
ขนตอนการกาหนดทางกายภาพ
ใ ระบเนอทในการเกบขอมล
ใชเนอทกไบทสาหรบแตละ Attributeใชเนอทกไบทสาหรบแตละ Attribute
เกบไวทไหน
10
สวนประกอบของ ER-Diagramสวนประกอบของ ER Diagramเอนตต (entity)แอตตรบวต (attributes) ของแตละเอนตตความสมพนธระหวางเอนตต (relationship)ความสมพนธระหวางเอนตต (relationship)ดกรของความสมพนธ (degree of a relation)
11
( i )เอนตต (entity)คอ สงททาใหเกดกลมของขอมลทตองการจดเกบ รวมทงคอ สงททาใหเกดกลมของขอมลทตองการจดเกบ รวมทง
สามารถบงชถงความเปนเอกลกษณเฉพาะตวได • บคคล(persons) เชน customer employee studentบคคล(persons) เชน customer, employee, student,
supplier• สถานท(place) เชน building, room, branch office, campusสถานท(place) เชน building, room, branch office, campus• วตถ(objects) เชน book, machine, product, part• เหตการณ(events) เชน invoice, order, registrationเหตการณ(events) เชน invoice, order, registration• แนวความคด(concepts) เชน account, course, stock
12
การตงชอและการนยามรปแบบของ Entityการตงชอและการนยามรปแบบของ Entity
ชอของ Entity จะตองตงเปนคานามชอของ Entity จะตองตงเปนคานามชอของ Entity จะตองกาหนดอยภายในองคกรชอของ Entity จะตองมความรดกม ถาเปนไปได จะตองใช Word ใหนอยทสด
13
เอนตต (entity)เอนตต (entity)
Strong Entity Weak Entity
Strong Entity : เปน Entity อสระ ไมข นอยกบ Entity อน (ตวพอ)Strong Entity : เปน Entity อสระ ไมขนอยกบ Entity อน (ตวพอ)Weak Entity : เปน Entity (ตวลก) ทข นอยกบ Strong Entity
ไมสามารถอยไดดวยตวเอง ไมสามารถอยไดดวยตวเอง
นกศกษา ผปกครอง
14
แอตตรบวต (attributes)แอตตรบวต (attributes)คอคณสมบตของ Attribute มหลายประเภทดงน
• Simple Attribute : เปน Attribute ทมองคประกอบเดยวไมสามารถแยกยอยออกไปได
• Composite Attribute : เปน Attribute ทสามารถแยกองคประกอบยอยออกไปไดอก
• Derived Attribute : เปน Attribute ทแทนคาทไดมาจากคาของ Attribute อน โดยไม
จาเปนตองจดเกบใหเปน Attribute หนงของ Entity กได
• Single Valued Attribute : เกบคาเดยวในแตละ Attribute
• Multi Valued Attribute : เกบไดหลายคาในแตละ Attribute
15
แอตตรบวต (attributes)
Single Value Attribute
Attributeg
Multi Value AttributeMulti Value Attribute
Derived AttributeDerived Attribute
Single Value Attribute - เกบคาเพยงคาเดยว เชน ชอ , นามสกลMulti Value Attribute - เกบคาไดมากกวา 1 คา เชน เบอรโทรศพท (อาจมไดมากกวา 1 เบอร)
,ทกษะความชานาญ(skill) (อาจมความชานาญมากกวา 1 อยาง)Derived Attribute - แสดงคาทไดมาจาก Attribute อน เชน age มาจาก Attribute
ของ Dateofbirth ของ Dateofbirth
16
age
17
ความสมพนธระหวางเอนตต (relationship)( p)
เปนความสมพนธระหวางเอนตต ซงเปนไปตามชนดของความสมพนธ เปนความสมพนธทเกดขนตามธรรมชาตในทางธรกจระหวางหนงเอนตตหรอมากกวา โดยความสมพนธจะ โ ใ นาเสนอดวยเหตการณการเชอมโยงในเอนตต เชน
พนกงานจะมความสมพนธกบสาขาทตนสงกดอย นกศกษาจะมความสมพนธกบรายวชาทตนลงทะเบยน
18
สญลกษณRelationship
สญลกษณRelationship แสดงความสมพนธระหวาง 2 Entity ขนไป
Weak RelationshipแสดงความสมพนธระหวางWeak Entity กบ strong Entity
Associative Relationshipแสดงความสมพนธระหวาง 3 Entity และแสดงyความสมพนธทกาหนดเปน Entity หนง
19
Entity
S_codeS_id S_name
SUBJECTSTUDENT REGISTER
Subj_name CreditAddress
RelationshipRelationship
E-R DiagramAttributes
E R Diagram
20
Strong & Weak Entities
First_Name Last_Name
Std_id Name Name Address
Student HasHAS ParentHasHAS Parent
21
(d f l ti )ระดบความสมพนธ (degree of a relation)
คอจานวนเอนตต ในการมสวนรวม(participating) ของความสมพนธ
22
Cardinality Constraints (ratio)Cardinality Constraints (ratio)
เปนการนาตวเลขและสญลกษณ มากาหนดในความสมพนธของแตละเอนตต เชน
• One-to-one (1:1)• One-to-one (1:1)1 1
หรอ
• One-to-many (1:M)
1 M
• Many-to-many (M:N)
M N
23
One-to-one (1:1)( )ความสมพนธแบบหนงตอหนง (one-to-one relationship) ความสมพนธท สมาชกหนงรายการของ Entity หนง มความสมพนธความสมพนธทสมาชกหนงรายการของ Entity หนง มความสมพนธกบสมาชกหนงรายการของอก Entity หนง
นกศกษา หอพกเชา1 1
หอพกนกศกษา หอพกเชา
24
One-to-many (1:M)One to many (1:M)
ความสมพนธแบบหนงตอกลม (one to many relationship)ความสมพนธแบบหนงตอกลม (one-to-many relationship)เปนความสมพนธทสมาชกหนงรายการของ Entity หนง มความสมพนธกบสมาชกหลายรายการในอก Entity หนงy
1 M
แผนก พนกงานสงกด
แผนก พนกงานสงกด
25
Many-to-many (M:N)y y ( )ความสมพนธแบบกลมตอกลม (many-to-many relationship)
ป ส ส ช ใ E tit เปนความสมพนธทมสมาชกหลายรายการใน Entity หนง มความสมพนธกบสมาชกหลายรายการในอก Entity หนง
นกแสดง ละครแสดง
M N
นกแสดง ละครแสดง
นกแสดง ละครแสดง
26
Min & Max Constraint
(15 N) (1 1)โปรแกรมวชา นกศกษาประจา
(15,N) (1,1)
ในแตละโปรแกรมวชา ตองมนกศกษาอยางนอย 15 คน (min =15) หรอมากกวากได (max = N)
และนกศกษาแตละคนสมครไดเพยง 1 โปรแกรมวชา (min =1)และนกศกษาแตละคนสมครไดเพยง 1 โปรแกรมวชา (min 1) ไมเกน 1 โปรแกรมวชา (max = 1)
27
กจกรรมคร งท 1 (er-diagram) 5 คะแนนกจกรรมครงท 1 (er-diagram) 5 คะแนน
จงเขยน ER-DIAGRAM ของระบบงาน รานเชา CD โดยจงเขยน ER DIAGRAM ของระบบงาน รานเชา CD โดยใหกาหนดใหมEntity ตอไปน
• ขอมลสมาชกขอมลสมาชก• ขอมลซด• ประเภทซดประเภทซด• การยม
28
การแปลงรป ER-Diagram ไปเปนรเลชน((Transforming ER-Diagrams into Relations)
• Simple attributes: จะกลายเปน attributes ของ Table
CUSTOMER relation
• เอา สวนประกอบยอยของ Composite attribute มาเปน attributes Mapping a composite attributeของ Table
• สราง Relationขนมาใหมประกอบดวย Attribute ทเปน Multivalues และใช
Mapping a multivalued attributePrimary Key จาก Entity หลกรวมกบ attributes ใน Relationนน
Weak Entities mapping• ใหสราง Relationขนมา โดย Primary Key คอ Primary Key ของ Weak
Entities รวมกบ Primary Key ของ Strong Entityy y g y
Weak Entities mapping
Foreign keyForeign key
Composite primary key
การ Mapping ความสมพนธ• One-to-Many – เอา Primary key ของ Entity ฝง One มาเปน foreign key ให Relationของ Entity ฝง many
• ใ โ ป การ Mapping ความสมพนธ แบบ Binary Relationships
• Many-to-Many – สราง Relationขนมาใหม โดยเอา primary keys ของทงสอง Entity มาเปน primary key รวมกน
• One-to-One – เอา Primary key ของ Entity ทมความสมพนธ แบบ mandatory (บงคบใหทกสมาชกใน Entity เขา
รวมในความสมพนธ) มาเปน foreign key ใน Relationของ Entity ฝงทเปน optional
One-to-Many mapping • One-to-Many –
เอา Primary key
ของ Entity ฝง One
ปมาเปน foreign
key ให Relation
ฝ ของ Entity ฝง
many
Many-to-Many mapping
Many-to-Many – สราง Relationขนมาใหม โดยเอา primary
k ของทงสอง E tit มาเปน i k รวมกนkeys ของทงสอง Entity มาเปน primary key รวมกน
Many-to-Many mapping
Composite primary key
Foreign keyForeign key
Foreign key
• เอา Primary key ของ Entity ทมความสมพนธ แบบ mandatory (บงคบใหทก
ใ ใ ป ใสมาชกใน Entity เขารวมในความสมพนธ) มาเปน foreign key ใน Relationของ
Entity ฝงทเปน optional
One-to-One mapping
One-to-One mapping
การ Mapping ความสมพนธการ Mapping ความสมพนธ แบบ Unary Relationships One-to-Many
• • เอา Primary Key ของ Entity
ของตวเองมาเปน foreign
k key อกครงหนง
การ Mapping ความสมพนธการ Mapping ความสมพนธ แบบ Unary Relationships
Many-to-Many
• ใ 1 • สราง Relationขนมาใหม อก 1
Relationแลวเอา Primary Key
i ป ของ Entity ตวเองมาเปน
Primary Key รวมกบ Attribute
ใ ส ใ ใหมทสรางขนมาใหรวมกนแลว
มคณสมบต Unique
แนวคดพนฐานขอมลสมพนธแนวคดพนฐานขอมลสมพนธ
ฐานขอมลเชงสมพนธ (relational database)ฐานขอมลเชงสมพนธ (relational database)เปนฐานขอมลทนยมใชกนมากทสด ประกอบดวย• ตารางขอมล Table• ตารางขอมล Table• คอลมน (Column) • แถว (Row)• แถว (Row)• คา (Value)• คย (Key)• คย (Key)• คยหลก (Primary Keys)
42
ประเภทของฐานขอมล SQL Server 2005ประเภทของฐานขอมล SQL Server 2005
จะแบงแยกฐานขอมลออกเปน 2 ประเภท ไดแกจะแบงแยกฐานขอมลออกเปน 2 ประเภท ไดแก• ฐานขอมลระบบ (System Database)• ฐานขอมลผใช (User Database)• ฐานขอมลผใช (User Database)
43
ฐานขอมลระบบฐานขอมลระบบ
ฐานขอมลของระบบ (System Database) จะม 4 ฐานหามลบเดดขาด
M t M d l M db T dbMaster Model Msdb Tempdb
44
• เกบคา Configuration ของระบบ• เกบรายละเอยดของฐานขอมลทเราสรางขนmaster • เกบรายละเอยดของฐานขอมลทเราสรางขน
• เกบ store , procedure ,viewmaster
• เปนตนแบบสาหรบสรางฐานขอมลใหม
• สรางสาเนาขอมลทใชงานModel
• เกบงานของระบบเพอทจะสงให SQL Server Agent• ทางานตามเวลากาหนดmsdb
Tempdb • พนทชวคราวทใชในการทางานTempdb
45
ฐานขอมลผใช (User Database)ฐานขอมลผใช (User Database)
เปนฐานขอมลผใช ทสรางขนมาสาหรบเกบขอมลตามเปนฐานขอมลผใช ทสรางขนมาสาหรบเกบขอมลตามตองการ
46
ไฟลในฐานขอมลไฟลในฐานขอมลในฐานขอมลหนงๆ จะประกอบดวยไฟล 2 ประเภท ไดแก
ไฟ ( D t Fil )ไฟลขอมล ( Data File ) ไฟลขอมลหลก ( Primary Data File ) มนามสกล mdf เพอเกบตารางขอมล และออปเจคตางๆของระบบสาหรบฐานขอมลนนๆ ฐ ไฟลขอมลรอง ( Secondary Data File ) มนามสกล ndf เปนไฟลเพมเตม ( Optional ) ทชวยใหสามารถแบงหรอแยกการเกบขอมล จากไฟลขอมลหลกได ( หากไมมไฟลน แสดงวาขอมลทกอยางเกบไวทไฟลขอมลหลกได ( หากไมมไฟลน แสดงวาขอมลทกอยางเกบไวทไฟลขอมลหลก )
ไฟล ทรานเซคชนลอก ( Transaction Log File ) มนามสกลเปน ldf สาหรบ โ ป เกบ โอเปอเรชน ( Operation ) หรอขอมลลอค ( Log ) ซงเกดจากการ
ทางานกบขอมลจรง
47
File GroupFile Groupมประโยชน คอ ชวยใหการเกบขอมลสามารถแยกออกมประโยชน คอ ชวยใหการเกบขอมลสามารถแยกออกจากกน ทาใหการอานและเขยนขอมล ไมขนอยกบไฟลเพยงไฟลเดยว อกทงยงสามารถเกบไฟลของไฟลเพยงไฟลเดยว อกทงยงสามารถเกบไฟลของฐานขอมลไวตาง path ตาง drive ไดดวย อกทงยงชวยแกปญหาเกยวกบขนาดทจากดของ disk ได ชวยแกปญหาเกยวกบขนาดทจากดของ disk ได รวมถงความสามารถในการ backup ขอมล ทอสระแยกจากกนไดอกดวยแยกจากกนไดอกดวย
กฏการต งชอตวแปรใน Sql Serverกฏการตงชอตวแปรใน Sql Server
ป ใกฏการตงชอตวแปรใน Sql Server• ขนาดระหวาง 1 ถง 128 ตวอกษร
• สญลกษณ @ นาหนา หมายถง เปน local variable • สญลกษณ # นาหนา หมายถง Temporary Object คอเปนตว
ป ใ ไ i แปรชวคราว ใชไดระหวาง session นนๆ• สญลกษณ ## นาหนา หมายถง Global Temporary Object