Bài giảng Hệ quản trị cở sở dữ liệu - Tạ Thị Thu Phượng
lượt xem 39
download
Bài giảng tóm tắt "Hệ quản trị cở sở dữ liệu" do Tạ Thị Thu Phượng biên soạn gồm 5 chương và bài tập, trình bày tổng quan về hệ quản trị cơ sở dữ liệu; xây dựng, quản lý và khai thác cơ sở dữ liệu; T-SQL nâng cao; bảo mật và an toàn dữ liệu; lập trình cơ sở dữ liệu.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ quản trị cở sở dữ liệu - Tạ Thị Thu Phượng
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com TRƯỜNG ĐẠI HỌC ĐÀ LẠT KHOA TOÁN - TIN HỌC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (Baøi giaûng toùm taét) NGƯỜI BIÊN SOẠN TẠ THỊ THU PHƯỢNG Ñaø Laït 2009
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com M CL C Chương 1: T ng quan v H qu n tr cơ s d li u .....................................Trang 1 I. Gi i thi u................................................................................................................1 II. C u trúc và thành ph n c a h qu n tr cơ s d li u ............................................2 Chương 2: Xây d ng, qu n lý và khai thác cơ s d li u.........................................5 I. Khái ni m cơ s d li u .........................................................................................5 II. T o cơ s d li u. ...................................................................................................5 III. Ki u d li u. ...........................................................................................................6 IV. T o và qu n lý b ng. .............................................................................................7 V. Các thao tác trên d li u.......................................................................................11 VI. Truy v n d li u ...................................................................................................12 VII. T o và s d ng khung nhìn (View)......................................................................14 VIII. T o và s d ng ch m c (Index)...........................................................................14 IX. Chuy n i d li u v i các ng d ng khác..........................................................18 Chương 3: T-SQL nâng cao ......................................................................................19 I. Khai báo và s d ng bi n .....................................................................................19 II. C u trúc i u khi n...............................................................................................20 III. Th t c thư ng trú (Stored Procedures)...............................................................22 IV. Ki u d li u cursor ...............................................................................................26 V. Hàm ngư i dùng (User Defined Functions).........................................................32 VI. Triggers và cài t ràng bu c d li u ...................................................................35 Chương 4: B o m t và an toàn d li u .....................................................................40 I. B o m t trong h qu n tr cơ s d li u ..............................................................40 II. B n sao d li u .....................................................................................................46 III. Sao lưu và khôi ph c d li u ...............................................................................59 IV. Qu n lý giao d ch .................................................................................................61 Chương 5: L p trình cơ s d li u............................................................................92 I. L p trình ADO.NET.............................................................................................92 II. Thi t k ch c năng c/ ghi d li u .....................................................................95 III. T o báo bi u v i Crystal Report ..........................................................................98 Bài t p ........................................................................................................................105
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 1 Bài gi ng tóm t t H qu n tr cơ s d li u Chương 1 T NG QUAN V H QU N TR CƠ S D LI U I. Gi i thi u Thông tin là ngu n tài nguyên quý giá c a m t t ch c. Các ph n m m máy tính là nh ng công c hi u qu x lý thông tin và h qu n tr cơ s d li u là công c ph bi n cho phép lưu tr và rút trích thông tin m t cách hi u qu . H qu n tr cơ s d li u quan h là h qu n tr cơ s d li u ph bi n nh t hi n nay và ư c h tr b i nhi u nhà cung c p ph n m m. Tính hi u qu c a các ng d ng ph thu c vào ch t lư ng c a vi c t ch c d li u. Nh ng c i ti n trong k thu t và x lý cơ s d li u ưa n các cơ h i s d ng thông tin m t cách linh ho t và hi u qu khi d li u ư c t ch c và lưu tr trong các c u trúc quan h . H qu n tr cơ s d li u là m t thành công trong lĩnh v c thương m i. M c tiêu c a h qu n tr cơ s d li u. H qu n tr cơ s d li u ph i m b o các m c tiêu sau: d li u s n dùng (data availability), tính toàn v n d li u (data integrity), an toàn d li u (data secutity), và c l p d li u (data independency). o D li u s n dùng (data availability): d li u ư c t ch c sao cho m i ngư i dùng có th truy c p d dàng theo ch c năng và nhi m v c a h . o Tính toàn v n d li u (data integrity): d li u lưu tr trong cơ s d li u là úng n, áng tin c y. o An toàn d li u (data secutity): Ch nh ng ngư i dùng ư c phép m i có th truy c p d li u. N u nhi u ngư i dùng truy c p chung m t m c d li u cùng lúc thì h qu n tr cơ s d li u không cho phép h th c hi n nh ng thay i gây mâu thu n d li u. c l p d li u (data independency): h qu n tr cơ s d li u ph i cho phép t t c o m i ngư i dùng ư c phép lưu tr , c p nh t và rút trích d li u hi u qu mà không c n n m chi ti t v c u trúc c a cơ s d li u ư c bi u di n và cài t. Quá trình phát tri n c a h qu n tr cơ s d li u. Quá trình phát tri n c a DBMS như sau: − Flat files: 1960s – 1980s − Hierarchical: 1970s –1990s − Network : 1970s – 1990s − Relational: 1980s – n nay − Object-oriented: 1990s – n nay
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 2 Bài gi ng tóm t t H qu n tr cơ s d li u − Object-relational: 1990s – n nay − Data warehousing: 1980s – n nay − Web-enabled: 1990s – n nay II. C u trúc và thành ph n c a h qu n tr cơ s d li u. Application Forms SQL Interface Front ends SQL Commands Query Execution Parser Plan Executor Engine Operator Evaluator Optimizer Concurrency Control File and Access Transaction Methods Manager Recovery Buffer Manager Manager Lock Manager DBMS Disk Space Manager DATABASE Index System Files catalog Data Files Hình 1.1 Ki n trúc c a DBMS Ki n trúc c a h qu n tr cơ s d li u g m 2 thành ph n ch c năng: o B qu n lý lưu tr (Storage manager). o B X lý truy v n (Query Processor). 1. B qu n lý lưu tr B qu n lý lưu tr có nhi m v lưu tr , rút trích và c p nh t d li u vào cơ s d li u. B qu n lý lưu tr g m có các ơn v sau: − Ki m tra ch ng th c và toàn v n. − Qu n lý giao d ch . − Qu n lý file.
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 3 Bài gi ng tóm t t H qu n tr cơ s d li u − Qu n lý vùng m. Qu n lý giao d ch (Transaction management) Thông thư ng, m t s thao tác trên cơ s d li u t o thành m t ơn v logic công vi c. Ta hãy xét ví d chuy n kho n, trong ó m t s ti n x ư c chuy n t tài kho n A (A:=A-x) sang m t tài kho n B (B:=B+x). M t y u t c n thi t là c hai thao tác này ho c cùng x y ra ho c không ho t ng nào x y ra c . Vi c chuy n kho n ph i x y ra trong tính toàn th c a nó ho c không. Yêu c u toàn th -ho c-không này ư c g i là tính nguyên t (atomicity). M t y u t c n thi t khác là s th c hi n vi c chuy n kho n b o toàn tính nh t quán c a cơ s d li u: giá tr c a t ng A + B ph i ư c b o toàn. Yêu c u v tính chính xác này ư c g i là tính nh t quán (consistency). Cu i cùng, sau khi th c hi n thành công ho t ng chuy n kho n, các giá tr c a các tài kho n A và B ph i b n v ng cho dù có th có s c h th ng. Yêu c u v tính b n v ng này ư c g i là tính lâu b n (durability). M t giao d ch là m t t p các ho t ng th c hi n ch m t ch c năng logic trong m t ng d ng cơ s d li u. M i giao d ch là m t ơn v mang c tính nguyên t l n tính nh t quán. Như v y, các giao d ch ph i không ư c vi ph m b t kỳ ràng bu c nh t quán nào: N u cơ s d li u là nh t quán khi m t giao d ch kh i ng thì nó cũng ph i là nh t quán khi giao d ch k t thúc thành công. Tuy nhiên, trong khi ang th c hi n giao d ch, ph i cho phép s không nh t quán t m th i. S không nh t quán t m th i này tuy là c n thi t nhưng l i có th d n n các khó khăn n u x y ra s c . Trách nhi m c a ngư i l p trình là xác nh úng n các giao d ch sao cho b o toàn tính nh t quán c a cơ s d li u. m b o tính nguyên t và tính lâu b n là trách nhi m c a h cơ s d li u nói chung và c a thành ph n qu n tr giao d ch (transaction-management component ) nói riêng. N u không có s c , t t c giao d ch hoàn t t thành công và tính nguyên t ư c hoàn thành d dàng. Tuy nhiên, do s hi n di n c a các s c , m t giao d ch có th không hoàn t t thành công s th c hi n c a nó. N u tính nguyên t ư c m b o, m t giao d ch th t b i không gây nh hư ng n tr ng thái c a cơ s d li u. Như v y, cơ s d li u ph i ư c hoàn l i tr ng thái c a nó trư c khi giao d ch b t u. H qu n tr cơ s d li u ph i có trách nhi m phát hi n s c h th ng và tr l i cơ s d li u v tr ng thái trư c khi x y ra s c . Khi m t s giao d ch tương tranh c p nh t cơ s d li u, tính nh t quán c a d li u có th không ư c b o toàn, ngay c khi m i giao d ch là chính xác. B qu n tr i u khi n tương tranh (concurency-control manager) có trách nhi m i u khi n các tương tác gi a các giao d ch ng th i m b o tính th ng nh t c a CSDL.
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 4 Bài gi ng tóm t t H qu n tr cơ s d li u Thành ph n Ki m tra ch ng th c và toàn v n (Authorization and Integrity Manager) Ki m tra ràng bu c toàn v n và quy n truy c p d li u c a ngư i dùng cơ s d li u. Thành ph n qu n lý giao d ch (Transaction manager) Thành ph n này m b o r ng cơ s d li u luôn tr ng thái nh t quán. Nó qu n lý vi c th c thi các yêu c u thao tác d li u và m b o các truy c p d li u ng th i không d n n mâu thu n. Thành ph n qu n lý file (File manager): qu n lý vi c c p phát không gian trên ĩa. Các file ư c dùng ch a t p các d li u tương t nhau. H qu n lý file qu n lý các file c l p, giúp nh p và l y các m u tin. Thành ph n qu n lý file thi t l p và duy trì danh sách các c u trúc và ch m c ư c nh nghĩa trong lư c trong. Thành ph n qu n lý file có th : o T o file. o Xóa file. o C p nh t m u tin trong file. o L y m t m u tin t m t file. Thành ph n qu n lý vùng m (Buffer Manager): có trách nhi m chuy n d li u t ĩa lưu tr vào b nh chính theo yêu c u c a chương trình. 2. B x lý truy v n (Query Processor) Th c hi n câu truy v n nh n ư c t ngư i dùng qua các giai o n phân tích (parser), t i ưu hóa câu h i (query optimizer), l p k ho ch th c hi n (plan executor) và th c hi n tính toán (operator evaluator).
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 5 Bài gi ng tóm t t H qu n tr cơ s d li u Chương 2 XÂY D NG, QU N LÝ VÀ KHAI THÁC CƠ S D LI U I. Khái ni m cơ s d li u m c logic, m t cơ s d li u (CSDL) g m: • − Các b ng (tables) ch a d li u có c u trúc và các ràng bu c (constraint) nh nghĩa trên các b ng. − Các khung nhìn (view). − Các th t c/ hàm. − Các vai trò (role) và ngư i dùng (user). −… m c lưu tr v t lý, m t database c a SQL Server ư c lưu tr b i 3 lo i t p tin: • − T p tin d li u (data file) g m có: 1 t p tin d li u chính (primary data file), thư ng có ph n m r ng “mdf”: ch a các d li u kh i u c a database. 0-n t p tin d li u th c p (secondary data file), thư ng có ph n m r ng “ndf”: ch a các d li u không lưu tr h t trong t p tin d li u chính. − T p tin nh t ký giao tác (transaction log file) g m có 1-n t p tin nh t ký, thư ng có ph n m r ng “ldf”: ch a các thông tin v nh t ký giao tác, dùng ph c h i database sau khi x y ra s c . II. T o cơ s d li u 1. Cú pháp l nh t o CSDL Create Database database_name [ On [Primary] { file_spec [,…n] } ] [ Log on { file_spec [,…n] } ] vi file_spec :: = ( Name = logical_file_name, Filename = 'os_file_name '
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 6 Bài gi ng tóm t t H qu n tr cơ s d li u [ , Size = size ] [ , Maxsize = { max_size | Unlimited } ] [ , Filegrowth = growth_increment ] ) M c nh, các t p tin d li u và log ư c lưu trong thư m c MSSQL\ Data c a thư m c cài t SQL Server. Ví d • Ví d 1: t o CSDL QLSinhVien theo các quy nh m c nh c a SQL Server Create Database QLSinhVien • Ví d 2: t o CSDL QLSinhVien v i khai báo tên file logic, thư m c lưu t p tin d li u chính, kích thư c, … Create Database QLSinhVien On ( Name = QLSV_Data Filename = ‘C:\ ...\ QLSV_Data.mdf ’, Size = 1, Filegrowth = 10% ) • Ví d 3 Create Database QLSinhVien On ( Name = QLSV_Data1, Filename = ‘C:\ ...\ QLSV_Data.mdf ’, Size = 1, Maxsize = 10 MB, Filegrowth = 1 MB ) , ( Name = QLSV_Data2 , Filename = ‘C:\...\QLSV_Data1.ndf’ ) Log on ( Name = QLSV_Log, Filename = ‘D:\...\QLSV_Log.ldf’) 2. Xoá m t CSDL ã t n t i Drop Database database_name 3. Thay i m t CSDL Alter Database database_name …. Dùng : – Thêm/xoá/thay i các t p tin. – Thay i các tùy ch n cho CSDL. III. Ki u d li u SQL Server cung c p các ki u d li u: 1. S – S nguyên: bit, tinyint, smallint, int, bigint.
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 7 Bài gi ng tóm t t H qu n tr cơ s d li u – S th c Floating point: o float(n) o real = float(24) Fixed point o Decimal(p,s) o Numeric(p,s) 2. Chu i char(n): chu i có dài c nh. nchar(n): chu i (theo mã Unicode) có dài c nh. varchar(n): chu i có dài thay i. nvarchar(n): chu i (theo mã Unicode) có dài thay i. text: ki u d li u cho phép ch a chu i có kích thư c hơn 8KB. ntext: ki u d li u cho phép ch a chu i (theo mã Unicode) có kích thư c hơn 8KB. 3. Ngày gi Datetime. Smalldatetime 4. Ki u ngư i dùng t nh nghĩa a. nh nghĩa m t ki u d li u: sp_addtype type_name, system_type [, ‘null_type’][, ‘owner’] Ví d : nh nghĩa ki u d li u Code là ki u chu i g m 10 ký t cho phép tr ng Exec sp_addtype Code, char(10), ‘NULL’ b. Xóa m t ki u d li u ngư i dùng nh nghĩa: sp_droptype ‘type_name’ IV. T o và qu n lý b ng 1. T o b ng – Xác nh các c t (các thu c tính) c a b ng. – Xác nh khóa chính. – Xác nh các thu c tính null/ not null. – Xác nh thu c tính identity (n u có) (ph i là ki u s nguyên). Lưu ý: – Luôn t o khóa chính cho m t b ng. – Ràng bu c khóa ngo i nên ư c t o sau khi ã t o xong t t c các b ng liên quan. a. Cú pháp l nh t o b ng
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 8 Bài gi ng tóm t t H qu n tr cơ s d li u Create table Table_name ( { Column_name Data_type [null | not null] [default default_value ] [identity [( seed, increment)] ] } [,…n] [, constraint constraint_name primary key ( Column_name [,…n] ) ] ) Ví d : T o b ng h c sinh có khóa chính là (STT, Lop) Create table HOCSINH ( STT tinyint not null, Lop char(5) not null default ‘11A1’ , HoTen nvarchar(30) not null, NgaySinh datetime not null, DiaChi nvarchar(100), constraint pk_HS primary key (STT, Lop) ) b. Thay i c u trúc b ng / xóa b ng Thay i c u trúc b ng là th c hi n: Thêm/ xoá/ c p nh t ki u d li u c a m t c t (column). – Thêm/ xoá/ ki m tra/ không ki m tra ràng bu c (constraint). – Cho phép/ không cho phép trigger ho t ng. – Cú pháp: Alter table … Xóa b ng: xoá d li u và c u trúc c a b ng Cú pháp: Drop table Ví d − Thêm thu c tính DanToc vào b ng HOCSINH: Alter table HOCSINH Add DanToc nvarchar(20) null default ‘Kinh’ − S a ki u d li u c a thu c tính NgaySinh thành ki u SmallDatetime: Alter table HOCSINH Alter column NgaySinh SmallDatetime not null 2. Qu n lý b ng − Các tên b ng, tên ràng bu c không ư c trùng nhau trong cùng m t database.
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 9 Bài gi ng tóm t t H qu n tr cơ s d li u − Tên các c t trong cùng m t b ng không ư c trùng nhau. − Thông tin v các b ng, các ràng bu c ư c lưu trong b ng h th ng sysobjects Ví d : c thông tin v các b ng trong database hi n hành: Select * from sysobjects where type = ‘U’ − M t s th t c SQL Server cung c p qu n lý b ng và c u trúc b ng: o sp_databases o sp_tables [‘table_name’] [, ‘owner’][,‘database_name’][, “ ‘type’ ”] Ví d : Exec sp_tables null, null, null, “ ‘TABLE’ ” o sp_help [object_name] sp_help cho bi t các thông tin v i tư ng b t kỳ trong database ( i tư ng có ch a trong sysobjects). Ví d : Exec sp_help HOCSINH o sp_columns object [, owner] [, database] [,column] o sp_helpconstraint ‘table_name’ o… 3. Cài t ràng bu c toàn v n ơn gi n SQL Server cung c p s n cơ ch ki m tra các lo i ràng bu c toàn v n (RBTV) sau: o Khóa chính (primary key constraint). o Khóa ngo i (foreign key constraint). o Giá tr duy nh t (unique constraint). o Check constraint (Ki m tra ràng bu c mi n giá tr ). Có th khai báo ràng bu c trong lúc t o b ng ho c khi b ng ã t n t i. Thông thư ng nên khai báo ràng bu c toàn v n trư c khi nh p d li u. a. Khai báo ràng bu c trong lúc t o b ng Cú pháp: Create table Table_name (… [, constraint Constraint_name { primary key (Column_name [,…n]) | unique ( Column_name [,…n]) | check ( logical_expression ) } ] […n] ) Ví d
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 10 Bài gi ng tóm t t H qu n tr cơ s d li u Create table SinhVien ( MaSV char(10) not null, HoTen nvarchar(30) not null, Nam tinyint, CMND char(10), Khoa char(5), constraint pk_SV primary key (MaSV), constraint u_CMND unique (CMND), constraint chk_Nam check (Nam > 0 and Nam
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 11 Bài gi ng tóm t t H qu n tr cơ s d li u Alter table table_name Drop { [constraint ] constraint_name } [,…n] Ví d : Alter table SINHVIEN drop constraint u_CMND, chk_Nam e. Rule − Rule là m t qui nh chung ư c t o ra trong m t CSDL. − M t rule có th ư c áp d ng cho nhi u thu c tính c a nhi u b ng khác nhau, ho c cho các ki u d li u ngư i dùng nh nghĩa trong database. T o rule Cú pháp: Create rule rule_name as logical_expression (trong ó “logical_expression” ph i ch a m t bi n. Bi n này tương ng v i i tư ng s ư c áp d ng rule). Ví d : create rule r_SoDuong as @value >0 K t bu c/ g k t bu c rule K t bu c rule: dùng th t c: sp_bindrule ‘rule_name’, ‘object’, [ ‘futureonly’ ] trong ó: Tùy ch n futureonly ch dùng khi k t bu c rule v i ki u d li u ngư i dùng nh nghĩa, có nghĩa các c t thu c ki u d li u này trư c ó không b nh hư ng b i rule. Ví d : sp_bindrule ‘r_SoDuong’, ‘SinhVien.Nam’ Rule m i k t bu c s ng m g rule cũ trên i tư ng. G k t bu c sp_unbindrule ‘object’, [ ‘futureonly’ ] Ví d : sp_unbindrule ‘SinhVien.Nam’ Xoá rule Cú pháp: Drop rule {rule_name} [,…n] Lưu ý: Ch xóa ư c rule khi nó không còn k t bu c v i i tư ng nào. V. Các thao tác trên d li u Chú ý khi thêm/ xóa/ c p nh t d li u:
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 12 Bài gi ng tóm t t H qu n tr cơ s d li u – D li u nh p ph i phù h p v i ki u d li u. m b o các ràng bu c toàn v n. – nh d ng giá tr ki u chu i unicode, ki u datetime. – – Nh p giá tr r ng (Null). 1. Các d ng l nh insert − 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/ t k t qu c a m t câu truy v n Insert [into] Table_name Select_statement Lưu ý: trong câu select, ta có th c d li u t các b ng trong database khác. Khi ó, tên b ng ư c vi t y như sau: Database_name.Owner.Table_name Ví d : select * from QLSinhVien.dbo.SinhVien 2. L nh c p nh t d li u update table_name set column_name_1= value1,…, column_name_m= value_m [where conditional_expression] 3. L nh xoá d li u delete [from] table_name [where conditional_expression] VI. Truy v n d li u 1. Câu truy v n t ng quát Cú pháp t ng quát c a câu truy v n d li u: SELECT [tính ch t] FROM [WHERE < i u ki n_1>] [GROUP BY ] [HAVING < i u ki n_2>] [ORDER BY [ASC | DESC]] trong ó: − Tính ch t là m t trong các t khóa: ALL (ch n ra t t c các dòng trong b ng), DISTINCT (lo i b các dòng trùng l p thông tin), TOP (ch n n dòng u tiên th a mãn i u ki n).
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 13 Bài gi ng tóm t t H qu n tr cơ s d li u − Danh sách các thu c tính_1: tên các thu c tính cho bi t thông tin c n l y. Chú ý: Các thu c tính cách nhau b i d u ‘,’. N u l y t t c các thu c tính c a 1 b ng R thì dùng: R.* N u sau FROM ch có 1 b ng và l y t t c các c t c a b ng ó thì dùng select *. N u t n t i 1 thu c tính sau select xu t hi n 2 b ng sau FROM thì ph i ch nh rõ thu c tính ó thu c b ng nào. − Danh sách các table/query/view: các b ng, câu truy v n, ho c khung nhìn ch a thông tin c n l y. Khi tìm ki m thông tin trên nhi u hơn 2 b ng/truy v n thì ph i k t các b ng l i v i nhau (có th t i u ki n k t t sau where ho c t From… join/ left join/ right join/full join … on …). trong m nh − Alias: bí danh (tên t t) c a b ng dùng cho các b ng có tên quá dài, ho c m t b ng ư c dùng nhi u l n trong m nh from c a câu truy v n. i u ki n_1: là i u ki n l c d li u (ch n các b tho i u ki n). − − danh sách các thu c tính_2: d li u s ư c gom nhóm theo các c t này, ưu tiên tính t trái sang. i u ki n_2: i u ki n l c các nhóm theo m t tiêu chí i di n cho c nhóm. − − danh sách các thu c tính_3:s p x p d li u theo c t nào, th t là tăng (ASC) ho c gi m (DESC). M c nh là d li u ư c s p theo th t tăng d n. Vi c s p x p ư c th c hi n theo th t ưu tiên t trái qua ph i. Lưu ý: N u câu truy v n không có m nh Group By thì cũng không có m nh Having. N u câu truy v n có ch a m nh Group By thì Danh sách các thu c tính_1 ch ch a các thu c tính ho c bi u th c liên quan n các thu c tính trong danh sách các thu c tính_2 và các hàm g p (max, min, avg, sum, count). 2. Các hàm thư ng dùng − Các hàm g p (Aggregate functions): max, min, sum, avg, count − Các hàm th i gian. − Các hàm toán h c. − Các hàm x lý chu i. − …. (Sinh viên có th tra c u theo t khóa trong Books Online).
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 14 Bài gi ng tóm t t H qu n tr cơ s d li u VII. T o và s d ng khung nhìn (View) 1. Khái ni m khung nhìn: Khung nhìn (View) là m t b ng o, có c u trúc như m t b ng, khung nhìn không lưu tr d li u mà d li u c a nó ư c t o ra khi s d ng, khung nhìn là i tư ng thu c CSDL. Khung nhìn ư c t o ra t câu l nh truy v n d li u (l nh Select), truy v n t m t ho c nhi u b ng d li u. 2. S d ng khung nhìn o Khung nhìn ư c s d ng khai thác d li u như m t b ng d li u, có th ư c chia s b i nhi u ngư i dùng, an toàn trong khai thác. o Có th th c hi n truy v n d li u trên c u trúc c a khung nhìn. o Các khung nhìn ư c t o t nhi u b ng ho c trong khung nhìn có ch a t khóa group by u không cho phép c p nh t d li u t DISTINCT, hàm g p, m nh khung nhìn vào các b ng g c trong cơ s d li u. Cú pháp t o khung nhìn: Create View view_name As Select_statement VIII. T o và s d ng ch m c (Index) Ch m c (Index) là m t ph n quan tr ng i v i CSDL, c bi t là cơ s d li u l n. Ch m c ư c thi t l p t m t ho c nhi u c t d li u c a b ng d li u. Các giá tr c a Ch m c s ư c s p x p và lưu tr theo m t danh sách (b ng khác). M i giá tr ch m c là duy nh t trong danh sách và nó s liên k t n giá tr trong b ng d li u (liên k t d ng con tr ). Vi c lưu tr d li u c a b ng có khóa ch m c ư c th c hi n theo c u trúc B-Cây nh m tăng t c truy xu t d li u i v i ĩa (thi t b th c p). Khi tìm ki m m t giá tr trong c t d li u, mà c t này tham gia t o Ch m c, u tiên câu l nh xác nh v trí c a giá tr n m trong Ch m c b ng phép duy t cây, sau ó th c hi n tìm theo liên k t n b n ghi ch a giá tr tương ng v i khóa trong b ng. 1. L a ch n ch m c • Không có ch m c, h qu n tr CSDL th c hi n truy v n b ng cách duy t qua t ng dòng trong b ng. • Cài t các ch m c cho b ng giúp truy v n thông tin nhanh hơn (tìm ki m trên B-Cây). • Khóa chính và các ràng bu c unique hi n nhiên là các ch m c c a b ng. • Cơ s ch n cài t ch m c: d a vào các nhu c u truy v n th c hi n thư ng xuyên trên CSDL.
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 15 Bài gi ng tóm t t H qu n tr cơ s d li u • Nên cài t ch m c cho các trư ng h p sau: – Trư ng h p 1: Có nhu c u truy v n thư ng xuyên các b c a b ng Q theo m t s (t p) thu c tính nào ó. Ví d : GiaoDich(MãGD, …,NgàyGD): Có nhu c u truy xu t thư ng xuyên các b c a giao d ch trong m t ngày ho c trong m t kho ng th i gian nh t nh: cài t ch m c trên thu c tính NgayGD c a quan h GiaoDich. – Trư ng h p 2: t p thu c tính tham gia vào phép k t c a m t câu truy v n x y ra thư ng xuyên. Ví d : cho 2 lư c quan h : HocSinh(STT, Lop, HoTen,…) KetQua(STT, Lop, Mon, Diem) Thư ng xuyên có nhu c u truy v n: cho bi t k t qu h c t p c a m t h c sinh. Câu l nh truy v n như sau: select hs.STT, hs.Lop, hs.HoTen, kq.Mon, kq.Diem from HocSinh hs join KetQua kq on hs.STT = kq.STT and hs.Lop = kq.Lop Cài t ch m c (STT, Lop) cho quan h KetQua T ng quát: trên mô hình quan h , xác nh các con ư ng truy xu t thư ng xuyên: T m t b c a Q1(m t giá tr c th a c a A) có nhu c u truy xu t thư ng xuyên các b c a Q2 tương ng (tìm ki m các b c a Q2 v i A = a): khai báo ch m c (A) cho Q2. Lưu ý: m t ch m c (AB) khác v i hai ch m c (A) và (B). 2. Các lo i ch m c Có hai lo i ch m c: – Clustered index – Nonclustered index Clustered index: • D li u th t s ư c s p x p v t lý theo ch m c (th t s n m nút lá c a cây). • M i b ng ch có th có m t clustered ch m c, thư ng là khóa chính.
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 16 Bài gi ng tóm t t H qu n tr cơ s d li u Nonclustered index: • Ch m c logic, d li u th t s không ư c s p x p v t lý theo ch m c. • Nút lá là con tr tr n v trí c a b d li u, ho c tr n giá tr c a clustered ch m c (trong trư ng h p b ng có clustered index). – Không có clustered index: – Có clustered index
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 17 Bài gi ng tóm t t H qu n tr cơ s d li u • M t s cân nh c khi ch n ch m c: – S d ng nhi u ch m c tăng t c truy v n, nhưng làm gi m hi u qu c a các thao tác thêm/xoá/c p nh t d li u. – Không nên t o ch m c trên các b ng quá nh (vài trăm dòng). – Ch nên ch n ch m c mà m i giá tr c a nó tương ng v i m t s ít b . N u m i giá tr ch m c ng v i trên 20% s lư ng b trong b ng, th c hi n truy v n bình thư ng b ng cách duy t qua các dòng trong b ng s hi u qu hơn. – Các giá tr ch m c ph i phân b u các b trong b ng. – C g ng dùng các ch m c v i s thu c tính ít (chi m ít không gian và c n ít chi phí duy trì hơn ch m c v i s thu c tính l n). – Clustered index ph i nh (s thu c tính ít, kích thư c nh ), vì các ch m c nonclustered u ph i g n k t t i nó. 3. Cài t ch m c v i SQL Server M t s qui nh: 1. M t b ng có t i a 249 nonclustered ch m c (bao g m c nh ng ch m c ng m nh khi khai báo khóa chính và ch m c). 2. Kích thư c t i a c a m t ch m c (t ng kích thư c các thu c tính tham gia vào ch m c) không quá 900 bytes. 3. M c nh: ch m c clustered ư c khai báo ng m nh cùng v i khai báo khóa chính, các trư ng h p khác là nonclustered (t t nhiên có th ch nh khác i). Cú pháp khai báo ch m c: Create [ Unique ][ Cluster| Nonclustered] Ch m c ch m c_name
- Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com 18 Bài gi ng tóm t t H qu n tr cơ s d li u On {table | view } (column [ Asc | Desc] [ ,...n ]) Ví d : Create nonclustered ch m c idx_STTHS_Lop On KETQUA (STTHS, Lop) Cú pháp xóa ch m c: Drop Ch m c table_name (ch m c_name) Ví d : Drop Ch m c KETQUA(idx_STTHS_Lop) IX. Chuy n i d li u v i các ng d ng khác (xem các tài li u hư ng d n th c hành SQL Server kèm theo)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 1 - Ngô Thùy Linh
31 p | 183 | 25
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 5 - Ngô Thùy Linh
34 p | 95 | 18
-
Bài giảng Hệ quản trị cơ sở dữ liệu Access - ĐH Phạm Văn Đồng
159 p | 112 | 17
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Tổng quan hệ quản trị CSDL SQL Server - TS. Lại Hiền Phương
50 p | 112 | 14
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - ĐH Công nghiệp Thực phẩm
92 p | 145 | 11
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - ĐH Công nghiệp Thực phẩm
31 p | 99 | 10
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Giới thiệu - Phạm Thọ Hoàn
14 p | 157 | 9
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle - Trường ĐH Đồng Tháp
119 p | 35 | 8
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Thị Uyên Nhi
33 p | 84 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 1.1: Tổng quan về Hệ quản trị cơ sở dữ liệu
5 p | 17 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Trường Sơn
29 p | 46 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Phạm Nguyên Thảo
39 p | 78 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Lê Thị Minh Nguyện
14 p | 72 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 3)
61 p | 53 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 1)
32 p | 52 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Nguyễn Thị Mỹ Dung
33 p | 58 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Phạm Nguyên Thảo
44 p | 51 | 3
-
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 7 - Hồ Thị Anh Đào
24 p | 62 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn