GIÁO TRÌNH TIN học hệ QUẢN TRỊ cơ sở dữ LIỆU 2

169 360 0
GIÁO TRÌNH TIN học hệ QUẢN TRỊ cơ sở dữ LIỆU 2

Đ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

I H C TƠN C TH NG PHỊNG TRUNG C P CHUN NGHI P & D Y NGH _oOo_ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU (SQL Server) ThS.Lê V n H nh Ch ng T NG QUAN Khái ni m v c u trúc v t lý ̈ ̈ ̈ ̈ Máy ch (Server): Máy tr m (Client): máy tính đ c phép truy xu t tài ngun đ c chia s m ng Dây cáp m ng (Cable ho c Media): m t h th ng dây cáp n i k t v t lý máy tính, máy in l i v i D li u chung (Shared data): t p tin, th m c mà ng i s d ng h th ng m ng có th truy xu t vào máy ch t máy tr m Khái ni m v x lý ̈ ̈ ̈ Các x lý m t ng d ng có th chia làm hai lo i x lý máy tr m x lý máy ch X lý máy tr m ̈ c, c p nh t d li u ̈ Tính tốn, hi n th d li u hình giao di n ̈ Có th s d ng nhi u lo i ngơn ng l p trình khác X lý máy ch Database Server ̈ X lý u c u đ c/ghi d li u ̈ Qu n lý đ ng b d li u gi a u c u đ c ghi t nhi u máy tr m g i t i ̈ Các d ch v qu n tr d li u t đ ng theo đ nh k nh backup/restore d li u Vì phát tri n ng d ng khách ch ? ̈ Gi m chi phí Chia s tài ngun ph n c ng/ph n m m ̈ Gi m chi phí b n quy n ̈ Gi m chi phí nâng c p, b o trì, qu n lý ̈ ̈ T c đ nhanh ̈ ̈ Các x lý ph c t p có th th c hi n t i server Tính t ̈ ng thích cao Nhi u cơng c l p trình đ c h tr b i ph n m m làm vi c máy ch L ch s đ i Microsoft SQL Server 1970: IBM gi i thi u ngơn ng SEQUEL ̈ 1987: IBM tích h p ph n m m qu n tr CSDL vào h u hành OS2 ̈ 1988: H qu n tr CSDL Ashton-Tate đ c MS k t h p v i Sybase gi i thi u ̈ MS b t đ u phát tri n SQL Server n n Ashton-Tate đ a vào WinNT Server sau ̈ Các phiên b n đ c s d ng c a SQL Server: 4.2, 4.21, 6.0, 6.5, 7.0, 2000, 2005 ̈ Cài đ t c s d li u SQL Server Desktop ̈ Hai phiên b n c a SQL Server Express ̈ Enterprise ̈ Demo: Cài đ t SQL Server ̈ Demo: ng ký qu n tr SQL Server ̈ Ti n ích Book Online ̈ Tồn b tài li u liên quan đ n SQL Server Qu n tr SQL Server ̈ Cú pháp l nh ̈ Các ví d l p trình ̈ Ti n ích Client network Utility ̈ C u hình giao th c k t n i m ng mà Client có th s d ng Ti n ích Enterprise Manager ̈ Cơng c đ qu n tr SQL Server Database ̈ User/Role ̈ Replication ̈ Security ̈ 10 T o login name sp_addlogin ‘ketoanvien’, ‘123456’,’qlbhtbmt’ ̈ Cú pháp ̈ ̈ ̈ Declare @tc int Declare @tc int Exec @tc = sp_addlogin ‘kt’, ‘abc’, ‘qlbhtbmt’ If @tc=1 sp_addlogin sp_grantlogin ‘LVHanh’ [ @loginame = ] 'login’ [ [ @passwd = ] 'password' ] [ , [ @defdb = ] 'database' ] [ , [ @deflanguage = ] 'language' ] [ , [ @sid = ] sid ] [ , [ @encryptopt= ] 'encryption_option Tr v (thành cơng) ho c (th t b i) sp_grantlogin [@loginame=] 'login‘: C p phép cho user s n có c a Windows truy xu t h th ng SQL Server 155 T o login name ̈ CREATE LOGIN login_name { WITH | FROM } ̈ : PASSWORD ='password' [HASHED] [MUST_CHANGE ] [ , [ , ] ] ̈ ̈ : DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = { ON | OFF} :=WINDOWS [ WITH [DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language ] ] ̈ Ví d : ̈ CREATE LOGIN ketoan WITH PASSWORD=‘abc’, DEFAULT_DATABASE=qlbhtbmt ̈ CREATE LOGIN LVHanh FROM WINDOWS WITH DEFAULT_DATABASE=qlbhtbmt 156 T o user ̈ ̈ Cú pháp ̈ sp_adduser [ @loginame = ] 'login‘ [ , [ @name_in_db = ] 'user' ] [ , [ @grpname = ] 'role' ] L u ý: ̈ ̈ ̈ Tr c th c hi n t o user ph i m k t n i đ n CSDL d đ nh cho phép truy xu t User sau đ c t o đ c phép truy xu t CSDL m có quy n h n tn theo role ch đ nh Tr ng h p khơng ch đ nh role, user khơng có b t k quy n h n đ i t ng: table, view, Ví d : use QLBHTBMT GO sp_adduser ‘ketoan’, ‘kt’ 157 T o user ̈ CREATE USER username [ FOR LOGIN loginname ] ̈ Ví d : ̈ CREATE USER KT FOR LOGIN ketoan ̈ ̈ ̈ CREATE USER Ktoan ̈ L i ch a có login tên Ktoan h th ng Xóa user: DROP USER username Xóa login: DROP LOGIN loginname 158 Các nhóm user đ nh s n CSDL ̈ Database Role Role Quy n h n db_accessadmin C p / h y quy n truy xu t c a login db_backupoperator T o l u cho CSDL db_datareader ̈ ̈ sp_droprolemember c d li u t t t c table, view db_datawriter C p nh t d li u t t c table db_ddladmin Th c hi n l nh DDL CSDL db_denydatareader C m user khác đ c d li u db_denydatawriter C m user khác c p nh t d li u db_owner Tồn quy n db_securityadmin Thêm, xóa thành viên role sp_addrolemember [ @rolename = ] 'role‘, [ @membername = ] 'security_account‘ sp_addrolemember 'db_datareader', 'KT' 159 C p quy n cho user ̈ Cú pháp ̈ PRIVILEGES GRANT [ON OBJECT [(column [ , n ])] ] TO [ , n ] [WITH GRANT OPTION ] 160 Thu h i / c m quy n c a user ̈ REVOKE [ GRANT OPTION FOR ] [ , n ] ON [ OBJECT [( column [ , n ] ) ] FROM [ , n ] ̈ DENY [ON OBJECT [(column [ , n ])] ] TO [ , n ] 161 Ví d minh h a ̈ T o login user abc v i m t kh u abc cho phép truy xu t CSDL QLDA v i quy n h n nh sau: ̈ Cho phép đ c d li u NhanVien thu c tính: MANV, HONV, TENLOT, TENNV, NGSINH, PHAI, DCHI, MAPB ̈ Cho phép đ c d li u PhongBan DiaDiemPBan ̈ Cho phép đ c, thêm d li u PhanCong ̈ Ch đ c s a d li u c t ThoiGian c a PhanCong ̈ Cho phép t o VIEW ̈ c thi hành procedure: spThongKeLuongTheoPB, spTimDeAnTheoTen 162 Ví d minh h a CREATE LOGIN abc WITH PASSWORD='abc', DEFAULT_DATABASE=QLDA GO use QLDA GO CREATE USER abc FOR LOGIN abc GO 163 Ví d minh h a GRANT SELECT ON NHAN VIEN (MANV, HONV, TENLOT, TENNV, NGSINH, PHAI,DCHI,MAPB) TO ABC GRANT SELECT ON PHONGBAN TO ABC GRANT SELECT ON DIADIEMPBAN TO ABC GRANT SELECT, INSERT ON PHANCONG TO ABC GRANT UPDATE ON PHANCONG(ThoiGian) TO ABC GRANT CREATE VIEW TO ABC GRANT EXECUTE ON spThongKeLuongTheoPB TO ABC GRANT EXECUTE ON spTimDeAnTheoTen TO ABC GO 164 Ví d minh h a CREATE PROC spThongKeLuongTheoPB AS BEGIN SELECT pb.MaPB, TenPB, 'TongLuong'=SUM(Luong) FROM PhongBan pb, NhanVien nv WHERE pb.MaPB=nv.MaPB GROUP BY pb.MaPB, TenPB END 165 Ví d minh h a CREATE PROC spTimDeAnTheoTen @tenda nvarchar(50) AS BEGIN DECLARE @dk nvarchar(52) SET@dk = '%' + @tenda + '%' SELECT * FROM DeAn WHERE TenDA LIKE @dk END 166 Ví d minh h a Ki m tra b ng cách: Ch n FILE / CONNECT Trong CONNECT USING, ch n SQL SERVER AUTHENTICATION gõ: ̈ ̈ ̈ LOGIN NAME: abc PASSWORD: abc Th SELECT, IN SERT, UPDATE, DELETE, EXECUTE, table, procedure ch a cho phép cho phép đ xem k t qu 167 Bài t p (QLBH TBMT) ̈ ̈ ̈ Vi t procedure nh n tham s @sohd, @mahh, @slg ̈ Ki m tra s h p l c a giá tr tham s ̈ N u hàng hóa có mã @mahh m t hàng đ c đ t đ n đ t hàng c a hóa đ n giao hàng : ̈ Th c hi n thêm b m i v i giá tr tham s vào table ChiTietHD ̈ C p nh t giá tr cho c t TongTien table HoaDon T o procedure nh n tham s @tenkh, th c hi n tìm t t c khách hàng có tên ch a ký t @tenkh T o procedure nh n tham s @ngayhd Cho bi t danh sách đ n đ t hàng đ c l p ngày t ng s l ng hàng hóa, t ng ti n c a t ng đ n đ t hàng 168 Bài t p (QLBH TBMT) ̈ ̈ T o login user nvbh v i password nvbh có kh n ng truy xu t csdl QLBHTBMT C p quy n h n c th cho user nvbh nh sau: 169 [...]... KEY) ̈ Ch nh s a c u trúc b ng ̈ Ch nh s a thu c tính b ng ̈ T o b ng m i 20 Các t p tin v t lý l u tr c s d li u ̈ ̈ M t database bao g m t i thi u hai file ̈ mdf: l u tr các đ i t ng trong database nh table, view, … ̈ Có th b sung thêm các t p tin l u tr khác ̈ T ch c t t các t p tin l u tr giúp t ng t c đ x lý ̈ ldf: l u tr quá trình c p nh t/thay đ i d li u ̈ H tr ph c h i d li u ̈ H tr backup/restore... IDENTITY [(S _b t_đ u, Ch _s _t ng)] , Tên_c t2 Ki u_d _li u [NOT NULL] [, ] ) ̈ ̈ ̈ Ki u d li u s : d ng s nguyên (int, smallint, tinyint, numeric và decimal) ̈ V i numeric và decimal thì ph i ch đ nh không l y s l S b t đ u: SQL Server s d ng đ c p phát cho m u tin đ u tiên M c đ nh là 1 Ch s t ng: s c ng lên đ c p phát cho nh ng m u tin k ti p M c đ nh là 1 26 Thay đ i c u trúc b ng ̈ Dùng Enterprise... ràng bu c, trigger 23 Các thu c tính c a b ng ̈ ̈ ̈ ̈ Tên b ng Tên c t Ki u d li u ̈ dài d li u ̈ S ký s l u tr ̈ S s l l u tr Thu c tính trên c t ̈ Allow null ̈ Identity ̈ Default value 24 T o c u trúc b ng đ n gi n CREATE TABLE Tên_b ng ( Tên_c t1 Ki u_d _li u [NOT NULL] , Tên_c t2 Ki u_d _li u [NOT NULL] [, ] ) ̈ T khóa NOT NULL ch đ nh không cho phép d li u t i c t b b tr ng 25 T o c u trúc b ng... backup/restore d li u Các thông s v kích th c ̈ Initial size ̈ File growth ̈ Maximum file size mdf ndf ldf 21 T o m i mô hình quan h d li u Ch có th t o b ng Enterprise Manager ̈ V i m t CSDL l n, t o m t hay nhi u mô hình cho các nghi p v th c t khác nhau ̈ 22 Khái ni m v b ng ̈ B ng dùng đ l u tr các thông tin c a m t đ i t ng trong th c t G m có dòng và c t ̈ B ng trong CSDL th ng có khoá chính ̈ Các b... u giai đo n 27 Thêm m t c t m i trong b ng ALTER TABLE Tên_b ng ADD Tên_c t Ki u_d _li u [, ] Tên c t: tên c a c t m i đ b ng ̈ Ki u d li u: ki u d li u t m i ̈ c thêm vào ng ng c a c t ALTER TABLE DONDH ADD Ngaydknh DATETIME 28 H y b c t hi n có bên trong b ng ALTER TABLE Tên_b ng DROP COLUMN Tên_c t [, ] ̈ Tên c t: tên c t s b h y b ra kh i b ng ALTER TABLE DONDH DROP COLUMN Ngaydknh 29 S a đ i ki... Login automatically/Prompt ̈ 16 N i k t t Query Analyzer vào SQL ̈ ̈ K t n i v i SQL Server t ng t nh m t client bình th ng ̈ Cung c p User name, Password Quá trình t ng tác gi a SQL Server và Query Analyzer (client) khi th c hi n m t l nh 17 Ch ng 2 CÁC L NH V Ki N TRÚC C S D Li U Khái ni m v c s d li u ̈ Database dùng đ Ch a các b ng, b ng o, th t c n i,… ̈ M i database có m t danh sách các ng ̈ ̈ ̈... t: tên c t s b h y b ra kh i b ng ALTER TABLE DONDH DROP COLUMN Ngaydknh 29 S a đ i ki u d li u c a c t ALTER TABLE Tên_b ng ALTER COLUMN Tên_c t Ki u_d _li u_m i ALTER TABLE VATTU ALTER COLUMN Dvtinh VARCHAR (20 ) 30 i tên c t, tên b ng d li u EXEC sp_rename [,'COLUMN'] ̈ ̈ ̈ ̈ ̈ 'Tên_b ng[.Tên_c t]', 'Tên_m i' EXEC: dùng đ th c thi các th t c n i t i c a SQL Server Tên b ng: tên b ng s đ i tên ho c ch... mi n giá tr u đi m ̈ Giúp th ng nh t các c t d li u trong CSDL theo m t ki u ̈ D thay đ i, ch nh s a 32 T o ki u d li u ng ̈ ̈ i dùng đ nh ngh a Có th t o b ng Enterprise Manager Cú pháp l nh EXEC sp_addtype Tên_ki u_dl_m i, 'Ki u_dl_c _s ' [,NULL | NOT NULL] EXEC sp_addtype uddt_Soluong, 'Decimal(15 ,2) ', 'NOT NULL' 33 Xóa ki u d li u ng i dùng đ nh ngh a EXEC sp_droptype Tên_ki u_dl ̈ Tên ki u d li... Profiler ̈ Theo dõi các bi n c x y ra trên m t SQL Server ̈ Các bi n c ̈ ̈ ̈ ng nh p Truy c p d li u C p nh t d li u T o template profile ̈ Ki m soát th i gian th c hi n/x lý ̈ Ki m soát locking ̈ … ̈ 12 Ti n ích Query Analyzer ̈ Vi t & th c hi n các script ̈ Ki m soát các đ i t ng trong CSDL ̈ Phát sinh các m u câu l nh script chu n ̈ Xem k ho ch th c hi n câu truy v n, th t c n i 13 Ti n ích Server... n ch đ nh ra tên c a các c t S l ng các giá tr b ng s các c t trong b ng ̈ Danh sách các giá tr mà chúng ta đ a vào ph i theo đúng th t c a các c t bên trong b ng ̈ INSERT INTO VATTU (MAVTU, TENVTU, DVTINH, PHANTRAM) VALUES ('LO01', 'Loa Panasonic 1000W', 'B ', 10) 35 L nh INSERT INTO SELECT INSERT [INTO] Tên_b ng [ (Danh_sách_c t) ] SELECT Danh_sách_c t FROM Tên_b ng_dl_ngu n WHERE i u_ki n_l c ̈ Danh ... Ashton-Tate đ a vào WinNT Server sau ̈ Các phiên b n đ c s d ng c a SQL Server: 4 .2, 4 .21 , 6.0, 6.5, 7.0, 20 00, 20 05 ̈ Cài đ t c s d li u SQL Server Desktop ̈ Hai phiên b n c a SQL Server Express... 21 T o m i mô hình quan h d li u Ch có th t o b ng Enterprise Manager ̈ V i m t CSDL l n, t o m t hay nhi u mô hình cho nghi p v th c t khác ̈ 22 Khái ni m v b ng ̈ B ng dùng đ l u tr thông tin. .. ng ̈ T o b ng m i 20 Các t p tin v t lý l u tr c s d li u ̈ ̈ M t database bao g m t i thi u hai file ̈ mdf: l u tr đ i t ng database nh table, view, … ̈ Có th b sung thêm t p tin l u tr khác ̈

Ngày đăng: 03/12/2015, 23:19

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

Tài liệu liên quan