670 likes | 903 Views
Fresher Training Program Relational Database Management System. Nguyen Minh Tien. Training objectives. To introduce basic RDBMS concepts To introduce database design To introduce SQL commands To introduce embedded SQL concepts To introduce OLTP concepts. Learning approach.
E N D
Fresher Training ProgramRelational Database Management System Nguyen Minh Tien
Training objectives • To introduce basic RDBMS concepts • To introduce database design • To introduce SQL commands • To introduce embedded SQL concepts • To introduce OLTP concepts
Learning approach • The following are strongly suggested for a better learning and understanding of this course: • Noting down the key concepts in the class • Analyze all the examples / code snippets provided • Study and understand the self study topics • Completion and submission of all the assignments, on time • Completion of the self review questions in the lab guide • Study and understand all the artifacts including the reference materials / e-learning / supplementary materials specified • Completion of the project (if application for this course) on time inclusive of individual and group activities • Taking part in the self assessment activities • Participation in the doubt clearing sessions
Training agenda • Basic DBMS & RDBMS concepts • Entity Relationship Modelling • Coverting ER diagrams to relational schema
Data & Database • Data is information and it is a very important item in work • Database is a set data organised with accessing, management & update easily Store information DATABASE User Access data
Data management • Data management is processing a large data, include storing & interacting. • There are 2 ways of approach to manage data: • File systems • Database systems
Database systems • Database is used to store organised data effectiency in order to manage data easily • Advantages: • Reduce redundancy • Consistency • Sharing • Apply some rules on data • Integrity • Security
Database Management System (1) • DBMS includes one Database and manipulations on data • That is program system allow management & interaction with database • Ensure the safety of the data stored, despite system crashes or at tempts at unauthorized access • Share data among the different users. In short , database systems are designed to manage large volumes of data.
Database Management System (1) Input / Output DATABASE DBMS Input / Output
Advantages of DBMS • Data independence • Reduction in data redundancy • Better security • Better flexibility • Effective data sharing • Implement SQL statement
Database models • Hierarchical Model • Network Model • Relational Model • Object-Oriented Model
Relational model basics • Data is viewed as existing in two dimensional tables known as relations • A relation (table) consists of unique attributes (columns) and tuples (rows) • Tuples are unique • Sometimes the value to be inserted into a particular cell may be unknown, or it may have no value. This is represented by a null • Null is not the same as zero, blank or an empty string • Relational Database: Any database whose logical organization is based on relational data model. • RDBMS: A DBMS that manages the relational database
What is RDBMS? • Relational Database: Any database for which the logical organization is based on relational data model. • RDBMS: A DBMS that manages the relational database. • An RDBMS is a type of DBMS that stores data in the form of related tables.
Concepts in RDBMS • Common concepts in RDBMS: • Data is layout as set of relational-records • A relation describe a table. • Columns are attributes. • Rows (“tuples”) describe an entity. • A table has set of attributes called a key, the key specify an unique entity.
RDBMS’s users • Database admin • Database designer • Developer • Implementer • End users.
Entities & Tables • An entity may be a person, a car, an event, … that it may define. • An entity has some characteristics as attributes, each entity has a name. • A table contain a group of entities called set of entities. • A table is called a relation, rows are tulpes, columns are attributes.
Entities & Tables Các thuộc tính Bảng EMPLOYEE Tuple
Data modelling • Study of basic properties and inter-relationships among data items to properly represent them in the basic data structures of a database • Two popular techniques: ER modeling and Normalization
Process of ER modelling Real world Requirement collection & Analysis • Survey • Interview • Collect requirement • Analisys • Specification Requirement database Conceptual design • Modelling • Design • ER Modelling Conceptual model ……..
Process of ER modelling FU Trường FU có nhu cầu xây dựng một hệ thống thông tin quản lý phục vụ hoạt động dạy và học trong trường Phòng QLSV: quản lý địa chỉ và cách liên lạc củatừngsinhviên, mờiphụhuynhkhicầnthiết. - Cần biết các sinh viên làm lớp trưởng - Sinh viên được phân chia vào các lớp Phòng Giáo vụ: quản lý điểm của sinh viên vàviệcgiảngdạycủagiáoviên. - Mộtsvcóthểhọcnhiềumônhọc, mỗimônhọc chỉ được học một lần. - Mộtgiáoviêncóthểdạynhiềumônhọc, mộtmôn học chỉ được dạy bởi một giáo viên. - Mỗi môn học có thể có môn học trước PhòngHànhchính:quảnlýthông tin giáoviên, đảm nhiệm việc thanh toán lương cho giáo viên. Tàiliệumôtảbàitoán
ER Modelling • Quá trình thiết kế CSDL bắt đầu từ việc phân tích • Thông tin cần lưu trữ trong CSDL • Quan hệ giữa các thành phần của thông tin => Mô hình ER (Sơ đồ ER) • ER thường được dùng như công cụ kết nối giữa nhà thiết kế CSDL và NSD. • ER là mô hình ngữ nghĩa để biểu diễn ngữ nghĩacủa dữ liệu trong thế giới thực. • ER cho phép mô tả lược đồ khái niệm của một tổchức mà không chú ý đến hiệu quả hoặc thiết kế CSDL vật lý.
ER Modelling • Thực thể (Entity) – Kiểu thực thể (Entity type) - Tập thực thể • Thuộc tính (Attribute) – Tâp thuộc tính • Liên kết (Relationship) – Kiểu liên kết – Tập liên kết • Khóa (Key)
Thực thể - tập thực thể • Thực thể (Entity): Là đối tượng cụ thể hay trừu tượng, tồn tại thực sựvà khá ổn định, có thể phân biệt được với nhau. Ví dụ Cụ thể: sinh viên Lê Na, khách Trần Hiếu, Hóa đơn số0123, giáo viên Nguyễn Văn Tam,… Trừu tượng: Khoa CNNT, Phòng Tài chính, Số tài khoản 0021000811304,… • Tập thực thể (Entity set) Là nhóm các thực thể cùng kiểu (tương tự nhau) VD: Các sinh viên, các khách hàng, các giáo viên,… • Tên tập thực thể là Danh từ để phản ánhchung các đối tượng cần trừu tượng hóa
Tập thực thể trong FU • Sinh viên • Lớp • Giáo viên • Môn học
Thuộc tính – tập thuộc tính (1) • Thuộc tính (Attribute) Mô tả 1 khía cạnh, 1 đặc tính của thực thể cần quản lý -> Thuộc tính của tập thực thể Kết hợp 1 thực thể trong tập thực thể với 1 giá trị từ miền giá trị của thuộc tính đó Miền giá trị: tập số nguyên, số thực, xâu ký tự,… Ví dụ: TênSV với giá trị Lê Na, Số HĐ=0123,… • Tập thuộc tính Nhóm các đặc tính mô tả cho một tập thực thể Ví dụ: mô tả SV gồm Tên SV, Ngày sinh, Giới tính,… • Tên thuộc tính là Danh từ chỉ tên chung cácđặc điểm của đối tượng
Thuộc tính – tập thuộc tính (2) • Thuộc tính có thể là • Thuộc tính đơn trị • Thuộc tính đa trị: giá trị là những thành phầncùng một loại. Ví dụ: Ngoại ngữ, Số điện thoại,… • Thuộc tính phức hợp: giá trị có thể chia nhỏ thành các phần mà vẫn có nghĩa. Ví dụ: Họ và tên, Địa chỉ, … • Thuộc tính dẫn xuất: giá trị được tính toán hoặcsuy dẫn từ giá trị của một hoặc nhiều thuộc tính khác. Ví dụ: Tuổi NV, Thâm niên, Lương,… • Định danh - Khóa (Key): Một hoặc một tập các thuộc tính xác định duy nhất một thực thể trong một tập thực thể.
Thuộc tính – tập thuộc tính (3) Thuộctínhđơntrị Thuộctínhphứchợp Thuộctínhđatrị
Khóa - Key • Khoá bao hàm – Siêu khoá (Super key) • Tập một hoặc nhiều thuộc tính mà các giá trị của chúng xác định duy nhất một thực thể. • Ví dụ: Mã SV hoặc (Mã SV, Tên SV) là siêu khoá của tập thực thể Sinh viên. • Khoá dự tuyển (Candidate key) Là khoá bao hàm nhỏ nhất. Ví dụ: Mã SV là khoá dự tuyển của tập thực thể Sinh viên.
Khóa – Key (2) • Khoá chính (Primary key) Một khoá dự tuyển được chuyển để xác định chínhthực thể trong tập thực thể đó. Ví dụ: Mã SV cũng là khoá chính của tập thực thể Sinh viên. • Khoá của tập quan hệ (Relationship type key) Là tập các khoá chính của các thực thể tham gia vào mỗi quan hệ đó. Ví dụ 1: Mã SV, Mã môn là khoá của quan hệ Học. Ví dụ 2: Mã PB, Mã NQL là khoá của quan hệ Quản lý.
Thuộc tính các thực thể trong FU • Lớp Mã lớp, Tên lớp, Mô tả lớp • Sinh viên Mã SV, Tên SV, Ngày sinh, Tuổi, Giới tính, Địa chỉ, Tên phụ huynh, Điện thoại • Giáo viên Mã GV, Tên GV, Địa chỉ, Điện thoại, Chức danh • Môn học Mã MH, Tên môn, Số ĐVHT, Hệ số, Học phí
Quan hệ - Tập quan hệ (1) • Quan hệ - Liên kết (Relationship) • Sự kết hợp giữa một số thực thể thành 1 thể thống nhất; phản ánh sự tương quan tự nhiên của dữ liệu. • Là quan hệ về DL giữa một hoặc nhiều tập thực thể • Quan hệ bao giờ cũng có 2 chiều. • VD: “sinh viên Lê Na học môn CSDL1” => quan hệ giữa tập thực thể SV và tập thực thể MÔN HỌC. • Tập các quan hệ (Relationship set) • Là một tập các quan hệ cùng kiểu. • VD: “sinh viên Lê Na học môn CSDL1”; “sinh viên Hoài Nam học môn Anh 3”; … => tập các quan hệ học giữa tập thực thể SV và tập thực thể MÔN HỌC
Quan hệ - Tập quan hệ (2) • Một thực thể thuộc tập thực thể (1) thay đổi => sẽthay đổi các thực thể thuộc tập thực thể (2) mà có quan hệ về mặt dữ liệu với (1) • Xác định mối liên hệ dựa vào • Kết quả khảo sát thực tế • Ngữ nghĩa của bài toán cần mô hình hóa • Tên của Tập quan hệ (liên kết) là Động từ mà phản ánh ý nghĩa của mối liên hệ đó. • VD1. Sinh viên An học môn học CSDL1 => mối liên hệ giữa tập thực thể Sinh viên và Môn học là học • VD2. Hóa đơn HD0123 của khách hàng Xuân => mốiliên hệ giữa Hóa đơn và Khách hàng là thuộc về
Tập quan hệ trong FU • Sinh viên & Môn học Sinh viên A học môn học X Môn học X được học bởi sinh viên A và sinh viên C • Môn học & Giáo viên Môn học Y do giáo viên E dạy Giáo viên E đã dạy môn Z, môn V, môn W • Sinh viên & Lớp Sinh viên A thuộc về lớp T Lớp T chứa các sinh viên A, B, C • Sinh viên & Sinh viên Sinh viên A là chỉ huy của sinh viên B và C Sinh viên B, C do sinh viên A quản lý • Môn học & Môn học Môn học Y phải hoàn thành trước môn Z Môn học Z phải học sau môn Y và môn U
Một số khái niệm của quan hệ • Bậc/Ngôi của quan hệ (degree) Đơn phân, Nhị phân, Tam phân, … • Lực lượng tham gia quan hệ (cardinality) 1–1, 1-1-1, 1-n, n-1, 1-1-n, 1-n-n N-n, n-n-n, … • Ràng buộc tham gia quan hệ ... Tùy chọn Bắt buộc => Các khái niệm trên quyết định việc chọn kiểu và loại thực thể nào
Bậc của quan hệ (Degree) • Là số các tập thực thể tham gia vào quan hệ (liên kết). • Bậc của quan hệ có thể là đơn phân, nhị phân, tam phân, … n phân (1, 2,..., n tập thực thể) Quan hệ đơn phân (Unary) Quan hệ nhị phân (Binary) Quan hệ tam phân (Tenary)
Lực lượng tham gia quan hệ (1) • Lực lượng tham gia quan hệ thể hiện số các tập thực thể có quan hệ với nhau trong một mối quan hệ • Với quan hệ nhị phân (binary relationship) thì lực lượng phải là một trong số các kiểu sau: 1 – 1, 1 – n, n – 1, n – n • Đối với các quan hệ khác, lực lượng được xácđịnh tương tự.
Lực lượng tham gia quan hệ (2) • Quan hệ giữa phòng ban và người quản lý • QuanhệgiữalớpCôngnghệvàSinhviên • QuanhệgiữamônhọcvàSinhviên
Converting strong entity types • Each entity type becomes a table • Each single-valued attribute becomes a column • Derived attributes are ignored • Composite attributes are represented by components • Multi-valued attributes are represented by a separate table • The key attribute of the entity type becomes the primary key of the table
Entity example Here address is a composite attribute • Years of service is a derived attribute (can be calculated from date of joining and current date) • Skill set is a multi-valued attribute • The relational Schema Employee (E#, Name, Door_No, Street, City, Pincode, Date_Of_Joining) Emp_Skillset( E#, Skillset)
Converting weak entity types Weak entity types are converted into a table of their own, with the primary key of the strong entity acting as a foreign key in the table • This foreign key along with the key of the weak entity form the composite primary key of this table The Relational Schema Employee (E# ,…….) Dependant (Employee, Dependant_ID, Name, Address)
Converting relationship • The way relationships are represented depends on the cardinality and the degree of the relationship • The possible cardinalities are: 1:1, 1:M, N:M • The degrees are: Unary Binary Ternary …
Converting ERD to relations (1) • Qui tắc 1: Biến đổi một kiểu thực thể thành một quan hệ. • Đối với kiểu thực thể thông thường (regular entity type): khóa của quan hệ là khóa của kiểu thực thể. • Thuộc tính của quan hệ là thuộc tính của kiểu thực thể. • Quan hệ chỉ chứa các thuộc tính thành phần của thuộc tính phức hợp. • Quan hệ không chứa các thuộc tính đa trị.
Converting ERD to relations (2) CUSTOMER entity type with simple attributes CUSTOMER relation Biến đổi kiểu thực thể thông thường