Bài giảng điện tử môn tin học: Làm việc với CSDL Quan Hệ pptx

24 402 1
Bài giảng điện tử môn tin học: Làm việc với CSDL Quan Hệ pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 Làm việc với CSDL Quan Hệ Relational Database :RDB 4 4 2 I. Thiết kế CSDL: I. Thiết kế CSDL: 1. Khái niệm 1. Khái niệm • Thiết kế CSDL là bước vô cùng quan trọng bấc nhất Thiết kế CSDL là bước vô cùng quan trọng bấc nhất • Quá trình thiết kế CSDL độc lập với RDBMS Quá trình thiết kế CSDL độc lập với RDBMS (Relational Database Management System) (Relational Database Management System) • Một số lưu ý khi thiết kế CSDL: Một số lưu ý khi thiết kế CSDL:  Các Bảng và tên của bảng (thực thể) Các Bảng và tên của bảng (thực thể)  Tên các Cột của Bảng (thuộc tính) Tên các Cột của Bảng (thuộc tính)  Các đặc tính của cột: giá trị duy nhất, null, kiểu Các đặc tính của cột: giá trị duy nhất, null, kiểu  Khóa chính (Primary key): mỗi bảng chỉ có một khóa Khóa chính (Primary key): mỗi bảng chỉ có một khóa chính, mặc dù không bắt buộc nhưng nên có chính, mặc dù không bắt buộc nhưng nên có  Các quan hệ (Relationship) giữa các bảng, những phụ Các quan hệ (Relationship) giữa các bảng, những phụ thuộc trong các bảng gọi là quan hệ. Để định nghĩa 1 thuộc trong các bảng gọi là quan hệ. Để định nghĩa 1 quan hệ ta dùng khòa ngoại (forein key) tham chiếu quan hệ ta dùng khòa ngoại (forein key) tham chiếu đến khóa chính của bảng khác. đến khóa chính của bảng khác. 3 2. Các kiểu quan hệ: 2. Các kiểu quan hệ: a. a. One-to-One: One-to-One: Quan hệ 1 dòng trong bảng có quan Quan hệ 1 dòng trong bảng có quan hệ đến chỉ 1 dòng trong bảng quan hệ hệ đến chỉ 1 dòng trong bảng quan hệ 4 One-to-Many: One-to-Many: Mỗi dòng trong bảng được liên quan Mỗi dòng trong bảng được liên quan đến một hoặc nhiều dòng trong bảng quan hệ. đến một hoặc nhiều dòng trong bảng quan hệ. 5 c. c. Many-to-Many: Many-to-Many: Nhiều dòng trong bảng liên Nhiều dòng trong bảng liên quan đến nhiều dòng trong bảng khác quan đến nhiều dòng trong bảng khác • VD1: 1 quyển sách có thể có nhiều tác giả, một VD1: 1 quyển sách có thể có nhiều tác giả, một tác giả có thể có nhiều quyển sách. tác giả có thể có nhiều quyển sách. • VD1: 1 sản phẩm có nhiều người mua, 1 người VD1: 1 sản phẩm có nhiều người mua, 1 người có thể mua nhiều sản phẩm có thể mua nhiều sản phẩm Ghi chú: Ghi chú: QH QH Many-to-Many Many-to-Many khi truy xuất dữ liệu khi truy xuất dữ liệu không thể chính xác và đúng đắn theo yêu cầu. không thể chính xác và đúng đắn theo yêu cầu. Do đó quan hệ Do đó quan hệ Many-to-Many Many-to-Many không thể tồn tại không thể tồn tại trong thiết kế CSDL, do đó ta phải phân tích QH trong thiết kế CSDL, do đó ta phải phân tích QH Many-to-Many Many-to-Many thành QH thành QH One-to-Many One-to-Many 6 Phân tích QH Phân tích QH Many-to-Many Many-to-Many thành QH thành QH One-to- One-to- Many Many bằng cách tạo một table thứ 3 (gọi là table bằng cách tạo một table thứ 3 (gọi là table chức năng). Các khóa chính của table 1 và 2 đưa chức năng). Các khóa chính của table 1 và 2 đưa sang table 3 làm khóa ngoại và thêm thuộc tính (cột) sang table 3 làm khóa ngoại và thêm thuộc tính (cột) chức năng cho table 3 chức năng cho table 3 7 3. Các dạng chuẩn của RDB: 3. Các dạng chuẩn của RDB: Trong thiết kế CSDL, việc tuân thủ ngặt nghèo Trong thiết kế CSDL, việc tuân thủ ngặt nghèo những chuẩn là việc hết sức quan trọng, nó giúp cho những chuẩn là việc hết sức quan trọng, nó giúp cho việc quản trị dữ liệu có hiệu quả, khắc phục dư thừa, việc quản trị dữ liệu có hiệu quả, khắc phục dư thừa, thông tin không trùng lắp, có tính nhất quán cao, thông tin không trùng lắp, có tính nhất quán cao, thuận lợi trong quản trị dữ liệu lớn, hiệu quả với dữ thuận lợi trong quản trị dữ liệu lớn, hiệu quả với dữ liệu phức tạp liệu phức tạp a. Dạng chuẩn 1: a. Dạng chuẩn 1: Tất cả các thuộc tính ở dạng giá trị Tất cả các thuộc tính ở dạng giá trị đơn hoặc không ở dạng lặp lại (VD-GT-T.31) đơn hoặc không ở dạng lặp lại (VD-GT-T.31) Khắc phục bằng cách tạo ra một bảng lưu trữ danh Khắc phục bằng cách tạo ra một bảng lưu trữ danh sách tác giả của sách sách tác giả của sách ID TenSach NXB TacGia_1 TacGia_2 8 b. Dạng chuẩn 2: b. Dạng chuẩn 2: Là dạng chuẩn 1 đồng thời tất cả các Là dạng chuẩn 1 đồng thời tất cả các thuộc tính không khóa phụ thuộc đầy đủ vào khóa thuộc tính không khóa phụ thuộc đầy đủ vào khóa chính (VD-GT-T31) chính (VD-GT-T31) Xem xét trong bảng trên ta thấy mỗi hàng phụ thuộc Xem xét trong bảng trên ta thấy mỗi hàng phụ thuộc vào khóa vào khóa Sach_ID và và SinhVien_ID , nhưng thông tin , nhưng thông tin HocLucSV không phụ thuộc vào không phụ thuộc vào Sach_ID , nên thông , nên thông tin này cần chuyển sang bảng về thông tin của sinh tin này cần chuyển sang bảng về thông tin của sinh viên viên Sach_ID SinhVien_ID NgayMuon HocLucSV 9 c. Dạng chuẩn 3: c. Dạng chuẩn 3: Tất cả các thuộc tính không khóa phụ Tất cả các thuộc tính không khóa phụ thuộc đầy đủ vào khóa và không phụ thuộc bắc cầu thuộc đầy đủ vào khóa và không phụ thuộc bắc cầu hoặc hoặc Dạng chuẩn 3 là Dạng chuẩn 2 và không phụ Dạng chuẩn 3 là Dạng chuẩn 2 và không phụ thuộc bắc cầu (VD-GT-T31) thuộc bắc cầu (VD-GT-T31) Bảng trên bạn thấy mỗi lần sinh viên mượn sách số Bảng trên bạn thấy mỗi lần sinh viên mượn sách số lượng sách có mã Sach_ID mà sinh viên có mã lượng sách có mã Sach_ID mà sinh viên có mã SinhVien_ID sẽ tăng lên và tổng số là Số lượng đã SinhVien_ID sẽ tăng lên và tổng số là Số lượng đã mượn, thông tin này là thông tin tích lũy theo Sach_ID, mượn, thông tin này là thông tin tích lũy theo Sach_ID, SinhVien_ID, NgayMuon. SinhVien_ID, NgayMuon. Sach_ID SinhVien_ID NgayMuon SoLuongMuon Sach_ID SinhVien_ID SoLuongMuon Sach_ID SinhVien_ID NgayMuon 10 II. Cấu trúc CSDL của SQL Server: II. Cấu trúc CSDL của SQL Server:  Như đã trình bày ở các bài trước một trong những Như đã trình bày ở các bài trước một trong những đặc điểm của SQL đặc điểm của SQL Server Server 2000 là Multiple-Instance 2000 là Multiple-Instance nên khi nói đến một (SQL) nên khi nói đến một (SQL) Server Server nào đó là ta nói nào đó là ta nói đến một Instance của SQL Server 2000, thông thường đến một Instance của SQL Server 2000, thông thường đó là Default Instance. Một Instance của SQL Server đó là Default Instance. Một Instance của SQL Server 2000 có 2000 có 4 system databases 4 system databases và một hay nhiều user và một hay nhiều user database. Các system databases bao gồm: database. Các system databases bao gồm:  Master: Master: Chứa tất cả những thông tin cấp hệ thống Chứa tất cả những thông tin cấp hệ thống (system-level information) bao gồm thông tin về các (system-level information) bao gồm thông tin về các database khác trong hệ thống như vị trí của các data database khác trong hệ thống như vị trí của các data files, các login account và các thiết đặt cấu hình hệ files, các login account và các thiết đặt cấu hình hệ thống của SQL Server (system configuration thống của SQL Server (system configuration settings). settings). [...]... page) 13 14 15 III Tạo, hiệu chỉnh CSDL trong SQL Server: a Vài điều xem xét trước khi tạo CSDL:  CSDL nên được thiết kế theo đúng dạng chuẩn 3  Quyền tạo trước hết phải là thành viên sysadmin hoặc user được cấp quyền tạo  User: người tạo ra CSDL trở thành chủ (Owner) CSDL đó  Tên CSDL phải tạo theo nguyên tắc định danh b Tạo CSDL: Có ba cách tạo và hiệu chỉnh CSDL:  C1: Dùng Enterprise Manager... SQL Server Agent sử dụng để hoạch định các báo động và các công việc cần làm (schedule alerts and jobs) 11 II Cấu trúc CSDL của SQL Server: (tt) • Cấu trúc Logic một CSDL của SQL Server là tập hợp các Bảng (table) dùng để chứa dữ liệu và các đối tượng khác như: View, Index, Store Procedure, Constrains và Trrigers • Cấu trúc vật lý của CSDL SQL Server gồm các file: Data (*.mdf, or *.ndf) và file Log... Log (*.ldf) – Theo ngầm định data file là: *.mdf (Primary files)có thể không hoặc có nhiều file *.ndf (secondary files) – Log file: Có ít nhất một log file chức thông tin phục hồi các giao tác (transaction) *.log 12 Transaction Log làm việc thế nào? Transaction log file trong SQL Server dùng để ghi lại các thay đổi xảy ra trong database:  Đầu tiên khi có một sự thay đổi data như Insert, Update, Delete... Tempdb: Chứa tất cả những table hay stored procedure được tạm thời tạo ra trong quá trình làm việc bởi user hay do bản thân SQL Server engine Các table hay stored procedure này sẽ biến mất khi khởi động lại SQL Server hay khi ta disconnect  Model: Database này đóng vai trò như một khuôn mẫu... FILEGROUP filegroup_name < filespec > [ , n ] 17 Tạo CSDL bằng lệnh Create DataBase (T-SQL) CREATE DATABASE SalesDB ON ( NAME = Sales_dat, FILENAME = 'd:\data\sale_data.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = 'Sales_log', FILENAME = 'd:\data\sale_log.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO 18 c Thao tác trên CSDL của SQL Server: thường dùng Enterprise Manager... SalesDB MODIFY NAME = Sales GO 21 d Xóa Database: Có 2 cách tạo và hiệu chỉnh CSDL:  C1: Dùng Enterprise Manager (GT-T.39)  C2: Dùng T-SQL Syntax: DROP DATABASE [, n …] Tham số n chỉ ra là danh sách các database sẽ xóa Vd1: DROP DATABASE SalseDB Vd2: DROP DATABASE SalseDB, SinhVienDB 22 e Đổi tên Database: Dùng T-SQL với hàm sp_rename theo syntax: sp_renamedb [ @dbname = ] 'old_name' , [ @newname... trên CSDL của SQL Server: thường dùng Enterprise Manager hoặc T-SQL trong Query Analyzer  Kiểm tra sự tồn tại C1: Enterprise Manager kiểm tra sự tồn tại trong nhánh Database C2: T-SQL: sp_helpDB VD: sp_helpDB SalesDB  Xem, thay đổi thuộc tính C1: Enterprise Manager: C2: T-SQL 19 •ALTER DATABASE database Systax: { ADD FILE < filespec > [ , n ] [ TO FILEGROUP filegroup_name ] | ADD LOG FILE... nguyên tắc định danh b Tạo CSDL: Có ba cách tạo và hiệu chỉnh CSDL:  C1: Dùng Enterprise Manager (GT-T.35)  C2: Dùng Create Database Vizard (GT-T.36)  C3: Dùng câu lệnh Create DataBase (T-SQL) 16 Tạo CSDL bằng lệnh Create DataBase (T-SQL) CREATE DATABASE database_name [ ON [ < filespec > [ , n ] ] [ , < filegroup > [ , n ] ] ] [ LOG ON { < filespec > [ , n ] } ] [ COLLATE collation_name ] [ FOR LOAD... Database: Dùng T-SQL với hàm sp_rename theo syntax: sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name‘ Return Code Values 0 (success) or a nonzero number (failure) Vd: EXEC sp_renamedb 'accounting', 'financial' 23 IV Tạo Script cho database và các Object: (Xem giáo trình trang 39-42) 24 . kiểu quan hệ: a. a. One-to-One: One-to-One: Quan hệ 1 dòng trong bảng có quan Quan hệ 1 dòng trong bảng có quan hệ đến chỉ 1 dòng trong bảng quan hệ hệ đến chỉ 1 dòng trong bảng quan hệ 4 One-to-Many: One-to-Many: . 1 Làm việc với CSDL Quan Hệ Relational Database :RDB 4 4 2 I. Thiết kế CSDL: I. Thiết kế CSDL: 1. Khái niệm 1. Khái niệm • Thiết kế CSDL là bước vô cùng quan trọng bấc nhất Thiết kế CSDL. kế CSDL, việc tuân thủ ngặt nghèo Trong thiết kế CSDL, việc tuân thủ ngặt nghèo những chuẩn là việc hết sức quan trọng, nó giúp cho những chuẩn là việc hết sức quan trọng, nó giúp cho việc

Ngày đăng: 11/08/2014, 22:22

Từ khóa liên quan

Mục lục

  • Làm việc với CSDL Quan Hệ Relational Database :RDB

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan