Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Xây dựng cơ sở dữ liệu - Tuấn Nguyên Hoài Đức

•Kiểu dữ liệu
•Kiểu dữ liệu người dùng định nghĩa
•Tạo và thay đổi Cơ sở Dữ liệu
•Tạo và thay đổi bảng dữ liệu
•Các công cụ quan sát cấu trúc dữ liệu
•Cập nhật dữ liệu 
pdf 47 trang xuanthi 30/12/2022 2180
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Xây dựng cơ sở dữ liệu - Tuấn Nguyên Hoài Đức", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_he_quan_tri_co_so_du_lieu_chuong_02_xay_dung_co_so.pdf

Nội dung text: Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Xây dựng cơ sở dữ liệu - Tuấn Nguyên Hoài Đức

  1. Nội dung trình bày •Kiểu dữ liệu •Kiểu dữ liệu người dùng định nghĩa •Tạo và thay đổi Cơ sở Dữ liệu •Tạo và thay đổi bảng dữ liệu •Các công cụ quan sát cấu trúc dữ liệu •Cập nhật dữ liệu Chương II : Xây dựng CSDL 2
  2. Kiểu dữ liệu •Money : -263 đến 263, cho phép 4 số thập phân (8 bytes) •SmallMoney : -214,748,3648 đến 214,748,3647 (4 bytes) •Float : -1.79E+308 đến 1.79E+308 (số bytes thay đổi) •DateTime : 1753-1-1 đến 9999-12-31 (8 bytes) •Date (chỉ có từ phiên bản 2008) •Time (chỉ có từ phiên bản 2008) Chương II : Xây dựng CSDL 4
  3. Kiểu dữ liệu •NChar : Tối đa 4000 ký tự, có hỗ trợ Unicode. Chiều dài cố định •NVarchar : Tối đa 4000 ký tự, có hỗ trợ Unicode. Chiều dài biến đổi •Text : Dài tối đa 2,147,483,647 ký tự. Không hỗ trợ Unicode. •NText : Dài tối đa 1,073,741,823 ký tự. Có hỗ trợ Unicode. Chương II : Xây dựng CSDL 6
  4. Nội dung trình bày •Kiểu dữ liệu •Kiểu dữ liệu người dùng định nghĩa •Tạo và thay đổi Cơ sở Dữ liệu •Tạo và thay đổi bảng dữ liệu •Các công cụ quan sát cấu trúc dữ liệu •Cập nhật dữ liệu Chương II : Xây dựng CSDL 8
  5. Kiểu dữ liệu người dùng định nghĩa •Ví dụ : • EXEC sp_addtype SoCMND, 'VARCHAR(11)', 'NOT NULL' • EXEC sp_addtype NgaySinh, dateme, 'NULL' • EXEC sp_addtype SoDT, 'varchar(24)', 'NOT NULL' • EXEC sp_addtype SoFax, 'varchar(24)', 'NULL' •Xóa kiểu DL người dùng định nghĩa • EXEC sp_droptype NgaySinh • EXEC sp_droptype SoCMND Chương II : Xây dựng CSDL 10
  6. Tạo CSDL CREATE DATABASE database_name [ ON [ [PRIMARY] [ , n ] ]] [ LOG ON { [ , n ] } ] định nghĩa như sau ( [ NAME = logical_file_name , ] FILENAME = 'os_file_name' [ , SIZE = size ] [ , MAXSIZE = { max_size | UNLIMITED } ] [ , FILEGROWTH = growth_increment ] ) [ , n ] Chương II : Xây dựng CSDL 12
  7. Tạo CSDL CREATE DATABASE database_name Kích thước ban đầu cho các file dữ liệu. [ ON [ [PRIMARY] [ , n ] ]] Mặc định 1 MB, tối thiểu 512 KB, đơn vị : [ LOG ON { [ , n ] } ] KB, MB, TB (mặc định MB) định nghĩa như sau ( [ NAME = logical_file_name , ] Kích thước tối đa cho các file dữ liệu. Mặc định là vô tận FILENAME = 'os_file_name' cho đến khi hết đĩa cứng [ , SIZE = size ] [ , MAXSIZE = { max_size | UNLIMITED } ] [ , FILEGROWTH = growth_increment ] ) [ , n ] Bước tăng kích thước file. Tối thiểu 64 KB, mặc định 10%. Giá trị phần trăm tính trên kích thước hiện hành. Đvị mặc định là MB Chương II : Xây dựng CSDL 14
  8. Tạo CSDL (Ví dụ 1) ( NAME = Secondary_File_2, FILENAME = 'c:\program files\microso sql server\mssql\data\archdat3.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) LOG ON ( NAME = Log_File_1, FILENAME = 'c:\program files\microso sql server\mssql\data\archlog1.ldf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), Chương II : Xây dựng CSDL 16
  9. Tạo CSDL (Ví dụ 2) CREATE DATABASE QuanLySinhVien ON ( NAME = Data_File1, FILENAME = 'c:\program files\microso sql server\mssql\data\archdat1.mdf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Data_File_2, FILENAME = 'c:\program files\microso sql server\mssql\data\archdat2.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) Chương II : Xây dựng CSDL 18
  10. Thay đổi và xoá CSDL •Thay đổi một CSDL • Sửa file đã có : 1 lệnh chỉ modify 1 Alter database QLDA file Modify File (Name= QLDA_data, NewName = QLDA1, FileName =‘D:\myfile.ndf’, SIZE = 200MB) GO • Xóa bớt file Alter database QLDA Remove File QLDA1 GO Phải lớn hơn kích Dùng để chuyển file thước hiện tại sang nơi lưu trữ mới Chương II : Xây dựng CSDL 20
  11. Nội dung trình bày •Kiểu dữ liệu •Kiểu dữ liệu người dùng định nghĩa •Tạo và thay đổi Cơ sở Dữ liệu •Tạo và thay đổi bảng dữ liệu •Các công cụ quan sát cấu trúc dữ liệu •Cập nhật dữ liệu Chương II : Xây dựng CSDL 22
  12. Tạo bảng dữ liệu •Trước khi tạo bảng • Xác định các cột (các thuộc nh) của bảng • Xác định khóa chính • Xác định các thuộc nh null/ not null • Xác định thuộc nh identy (nếu có) (phải là kiểu số nguyên) Chương II : Xây dựng CSDL 24
  13. Tạo bảng dữ liệu Create Table [ DBName.[ owner .] ] Tabname ( { | col_name AS computed_col_expression } [ , n ] | ) Chương II : Xây dựng CSDL 26
  14. Tạo bảng dữ liệu Create Table [ DBName.[ owner .] ] Tabname [Constraint Cnstr_name] ( { { [ {Primary key | unique} [clustered | nonclustered] | col_name AS computed_col_expression(col [asc | desc] [ ,n]) ] } [ , n ] | Foreign key (col [ ,n]) references ref_tab | (ref_col [ ,n]) On delete {cascade | No action} ) On update {cascade | No action} | Check (logical Exp) } Chương II : Xây dựng CSDL 28
  15. Tạo bảng dữ liệu (Ví dụ 3) Create table QuanLyHangHoa.MatHang ( MaMH varchar(10) not null, Col_definition TenMN nvarchar(50) unique, Column DonGia float default 0, constraint LoaiHang varchar(10), constraint PKMH Primary key (MaMH), constraint FKHH foreign key (LoaiHang) Tab_constraint references LoaiHang(MaLH), constraint ck_DonGia check (DonGia > 0) ) Chương II : Xây dựng CSDL 30
  16. Nội dung trình bày •Kiểu dữ liệu •Kiểu dữ liệu người dùng định nghĩa •Tạo và thay đổi Cơ sở Dữ liệu •Tạo và thay đổi bảng dữ liệu •Các công cụ quan sát cấu trúc dữ liệu •Cập nhật dữ liệu Chương II : Xây dựng CSDL 32
  17. Các công cụ quan sát cấu trúc DL •Exec sp_databases • Cho biết danh sách các CSDL hiện có cùng với kich thước của chúng (nh bằng KB) •EXEC sp_tables [@table_name=]SinhVien, [@table_owner=] ws201, [@table_qualifier=] QuanLySinhVien, [@table_type=] "'TABLE'" Chương II : Xây dựng CSDL 34
  18. Các công cụ quan sát cấu trúc DL •Exec sp_help [Object_name] • Cung cấp thông n cơ bản của các đối tượng bất kỳ lưu (trong bảng sysobjects) hay các kiểu dl người dùng định nghĩa (lưu trong bảng systypes) •Exec sp_column [@Table_name=]Tab_name [@Column_name=]Col_name • Cung cấp thông n về tất cả (hay chỉ một – khi có chỉ định Col_name) cột trong một table có tên được chỉ định bởi Tab_name Chương II : Xây dựng CSDL 36
  19. Nội dung trình bày •Kiểu dữ liệu •Kiểu dữ liệu người dùng định nghĩa •Tạo và thay đổi Cơ sở Dữ liệu •Tạo và thay đổi bảng dữ liệu •Các công cụ quan sát cấu trúc dữ liệu •Cập nhật dữ liệu Chương II : Xây dựng CSDL 38
  20. Cập nhật dữ liệu •Thêm dữ liệu : • Thêm từng dòng dữ liệu vào bảng Insert [into] Table_name [ (column_name[, n] )] values ( value [, n] ) • Thêm 0-n dòng dữ liệu từ bảng khác Insert [into] Table_name Select_statement Chương II : Xây dựng CSDL 40
  21. Cập nhật dữ liệu •Sửa dữ liệu : Udate Table_name set [ (column_name = new_value[, n] )] [where (update condion)] • Ví dụ : Update HangHoa set DonGia = DonGia*110/100 Where LoaiHang = ‘Milk’ Chương II : Xây dựng CSDL 42
  22. Cập nhật dữ liệu •Chỉ thị OUTPUT • Update HangHoa set DonGia = DonGia*110/100 output deleted.DonGia, inserted.dongia where LoaiHang = ‘Milk’ • Insert into LoaiDiaOc (maLoai,tenLoai) output inserted.tenLoai values(15, N‘biệt thự’) • Delete from HangHoa Chỉ có với output deleted.DonGia phiên Bản SQL where DonGia < 100000 Server 2005 Trở lên Chương II : Xây dựng CSDL 44
  23. Cập nhật dữ liệu •Chỉ thị TOP • Update Top(@n) HangHoa set DonGia = DonGia*110/100 Có thể là biến, where LoaiHang = ‘Milk’ hằng hay câu truy vấn • Insert Top(@n) into LoaiDiaOc (maLoai,tenLoai) Liên hệ chỉ thị select maLoai,tenLoai from LoaiDiaOc2 Top n trong câu select • Delete Top(@n) from HangHoa where DonGia < 100000 Chỉ có với phiên Bản SQL Server 2005 Trở lên Chương II : Xây dựng CSDL 46