1 / 89

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU. SQL SERVER. Ngôn ngữ định nghĩa dữ liệu. Tạo CSDL Tạo v à quản lý các bảng. T ạo lập CSDL. Các đối tượng của CSDL: Các bảng dữ liệu (Tables) Các chỉ mục (Index) Các khung nhìn (Views) Các thủ tục lưu trú (Store Procedures) Các bẫy lỗi (Triggers).

keenan
Télécharger la présentation

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER

  2. Ngôn ngữ định nghĩa dữ liệu • Tạo CSDL • Tạo và quản lý các bảng

  3. Tạo lập CSDL • Các đối tượng của CSDL: • Các bảng dữ liệu (Tables) • Các chỉ mục (Index) • Các khung nhìn (Views) • Các thủ tục lưu trú (Store Procedures) • Các bẫy lỗi (Triggers)

  4. Tạo lập CSDL • Cácthông tin cầnxácđịnhkhitạo CSDL: • Tên CSDL • Kíchthước • Tệp, nhómtệplưutrữ CSDL

  5. Tạo lập CSDL • Tạo CSDL bằng T_SQL CREATE DATABASE<Database_name> [ ON     [ < filespec > [ ,...n ] ]     [ , < filegroup > [ ,...n ] ] ] [ LOG ON { < filespec > [ ,...n ] } ] ------- < filespec > ::= [ PRIMARY ]( [ NAME = logical_file_name , ] FILENAME = 'os_file_name'     [ , SIZE = size ]     [ , MAXSIZE = { max_size | UNLIMITED } ]     [ , FILEGROWTH = growth_increment ] ) [ ,...n ] -------- < filegroup > ::= FILEGROUPfilegroup_name < filespec > [ ,...n ]

  6. Tạo lập CSDL • Tạo CSDL bằng T_SQL • Database_name: • Duy nhất trong server • Tuân theo luật đặt định danh • Độ dài lớn nhất là 128 kí tự • ON … • Xác định các tệp (primary file, secondary file) và nhóm tệp lưu trữ CSDL • LOG ON … • Xác định các log file • Nếu mệnh đề này không có thì một log file sẽ tụ động được tạo ra.

  7. Tạo lập CSDL • Tạo CSDL bằng T_SQL • Ví dụ 1: tạo CSDL có xác định tệp primary và tệp transaction log: USE master GO CREATE DATABASE qlnv ON ( NAME = qlnv_dat, FILENAME = 'c:\program files\microsoft sql server\mssql\data\qlnvdat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = qlnv_log, FILENAME = 'c:\program files\microsoft sql server\mssql\data\qlnvlog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) GO

  8. Tạo lập CSDL • Tạo CSDL bằng Enterprise Manager (EM) • Chọn server group và mở rộng • Nhấp chuột phải trên nút Database/ chọn New Database => Xuất hiện cửa sổ New Database • Nhập tên cho DB cần tạo • Thay đổi một số tham số của DB

  9. Tạo lập CSDL • Chỉnhsửa DB • ALTER DATABASE • Vídụ 2 USE master GO CREATE DATABASE Test1 ON ( NAME = Test1dat1, FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat1 . ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ) GO ALTER DATABASE Test1 ADD FILE ( NAME = Test1dat2, FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat2.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ) GO

  10. Tạo lập CSDL • Xem thông tin về các CSDL • sp_helpdb [ [ @dbname= ] 'name' ] • Ví dụ 3 exec sp_helpdb qlnv exec sp_helpdb

  11. Tạo lập CSDL • Xoá CSDL • DROP DATABASE database_name [ ,…] • Vídụ 4 DROP DATABASE qlnv

  12. Kiểudữliệu • System data types (Kiểudữliệuhệthống) • User-defined data type • CLR types • Spatial data • Filestreams • XML

  13. Kiểudữliệuhệthống • Exact numeric • bit, tinyint, smallint, int, bigint, numeric, decimal, smallmoney, money • Approximate numeric • float, Real • Date & Time • datetime, smalldatetime • Character string • char, varchar, text • Unicode character string • nchar, nvarchar, ntext • Binary character string • binary, varbinary, image • Others • sql_variant, timestamp, xml…..

  14. Tạo lập các bảng dữ liệu • Tạo bảng bằng T_SQL: CREATE TABLE [<tên CSDL>. [<tên NSD>. ]]<tên bảng> ( <tên cột 1> <kiểu dữ liệu 1> (kích thước 1), <tên cột 2> <kiểu dữ liệu 2> (kích thước 2),…………..,<tên cột n> <kiểu dữ liệu n> (kích thước n)) ;

  15. Tạo lập các bảng dữ liệu • Tạobảngbằng T_SQL- Vídụ 5 CREATE TABLE qlnv.nhan_vien (manvSmallint,ho_ten VARCHAR(25),ngay_sinh DATETIME,gioi_tinh CHAR(3),ma_dv CHAR(2),luongInt );

  16. Tạo lập các bảng dữ liệu • Tạo bảng bằng EM • Chọn CSDL • Chọn mục Tables • Nhấp chuột phải trên Tables và chọn New Tables

  17. Tạo lập các bảng dữ liệu • Sửa đổi cấu trúc bảng (Thêm, xoá, sửa cột):

  18. Tạo lập các bảng dữ liệu • Xem thông tin bảng • sp_help [ [ @objname = ] name ] • Xoá bảng • DROP TABLE table_name

  19. Ngôn ngữ thao tác dữ liệu • Chèn thêm bản ghi vào bảng dữ liệu • Sửa nội dung trong bảng dữ liệu • Xóa các bản ghi trong bảng dữ liệu • Tìm kiếm thông tin

  20. Chèn thêm bản ghi vào bảng dữ liệu INSERT INTO<table_name>[(<danh sách tên cột>)]VALUES <danh sách giá trị>;  Chèn thêm một bản ghi vào cuối bảng INSERT INTO<table_name> [(<danh sách tên cột>)]SELECT . . .  Chèn thêm một số bản ghi vào cuối bảng

  21. Sửa nội dung trong bảng dữ liệu UPDATE <table_name>SET <col_name1>=<exp1> [, <col_name2> = <exp2>, . . . ][WHERE <codition>(s)]  Cậpnhậtthông tin trêncáccột col_name1, col_name2, . . . chocácbảnghithỏamãnđiềukiệnsau Where

  22. Xóa các bản ghi trong bảng dữ liệu DELETE FROM<table_name>[WHERE <codition>(s)] • Xóatấtcảcácbảnghithỏamãnđiềukiệnsaumệnhđề Where TRUNCATE TABLE<tênbảng>  Xoátấtcảbảnghitrongbảng, lượcđồcủabảngvẫngiữnguyên

  23. Tìm kiếm thông tin • CSDL Quản lý thông tin về các nhân viên • PHONG(Maphong, Tenphong, Diachi, SDT) • DMNN(Mann, Tennn) • NHANVIEN(Manv, Hoten, Ngaysinh, Gioitinh, Luong, Sdt, Maphong) • TDNN(Manv, Mann, Tdo)

  24. Tìm kiếm thông tin • Truy vấn tìm kiếm tổng quát: SELECT *|{[DISTINCT] column|expression [alias],...}FROM table(s)[WHERE condition(s)] [ORDER BY {column, expr, alias} [ASC|DESC]]; Nghĩa là: Lấy <những cái gì?>Từ <những quan hệ nào?>[Thoả mãn <điều kiện gì?>] [Sắp xếp<theo thứ tự nào?>]

  25. Tìm kiếm thông tin hoặc: SELECTcolumn,group_function(column) FROM tables [WHEREcondition] [GROUP BYgroup_by_expression] [HAVINGgroup_condition] [ORDER BYcolumn];

  26. Tìm kiếm không điều kiện SELECT *|{[DISTINCT] column|expression [alias],...}FROM table(s) Vídụ 6: Cho biếtthông tin vềcácphòng ban? SELECTMaphong,Tenphong, DiaChi, Tel FROMPhong hoặc: SELECT * FROMPhong * : thaythếtậptêncộtcủamộtbảng

  27. Tìm kiếm không điều kiện • Vídụ 7: Cho biếtdanhsáchthưởngcủacácnhânviênbaogồmcácthông tin mãnhânviên, họtên, lương, vàthưởng (bằnglương + 40% lương)? Câulệnh: SELECTManv, Hoten, Luong, 1.4*Luongas ThuongFROM Nhanvien SauSelectcóthểchứamộtbiểuthức.Biểuthứcvàtêntrườngđócóthểđượcđặttêngiả:<bt> [As] <tên> hoặc <bt> <‘Tên’> BiểuthứcchứagiátrịNULL  btcógiátrịNULL

  28. Tìm kiếm không điều kiện • Vídụ 8: Cho biếtmãcácngoạingữmàcácnhânviêntrongcơquanđãhọc? Câulệnh: Select Mann From TDNN hoặc SelectDistinct MannFrom TDNN Distinct:đưarabảnghiđạidiệncủanhómbảnghigiốngnhau

  29. Tìm kiếm không điều kiện • Vídụ 9: Đưarathông tin về 2 nhânviênđầutiêntrongbảngnhânviên? Câulệnh: Select top 2* From NHANVIEN top n:đưarabảnghi n bảnghiđầutiên

  30. Tìm kiếm có điều kiện SELECT *|{[DISTINCT] column|expression [alias],...}FROMtable(s)[WHERE condition(s)] • Các phép so sánh trong Condition(s): >, <, >=, <=, != hoặc <>, !> (không lớn hơn), !< (không nhỏ hơn) • Các phép logic trong Condition(s): and, or, not, between…and, like, in, is null

  31. Truy vấn có điều kiện • Vídụ 10: Cho biếtdanhsáchcácnhânviênlàmviệc ở phòngcómãsốlà HCA? Câulệnh: Select *FromNhanvienWhereMaphong = ‘HCA’

  32. Truy vấn có điều kiện • Vídụ 11: Cho biếtmãnhânviên, họtên, ngàysinh, lươngcủacácnhânviêncólươngnằmtrongkhoảngtừ 2000000 đồngđến 3000000 đồng? Câulệnh: SelectManv, Hoten, Ngaysinh, Luong FromNhanvien Where (Luong 2000000) and (Luong 3000000)

  33. Truy vấn có điều kiện hoặc: SelectManv, Hoten, Ngaysinh, Luong FromNhanvien WhereLuongBetween 2000000 and 3000000

  34. Truy vấn có điều kiện • Vídụ 12: Cho biếtmãnhânviên, họtên, ngàysinh, lươngcủacácnhânviêncólươngkhôngnằmtrongkhoảngtừ 1000000 đồngđến 2000000 đồng? SelectManv, Hoten, Ngaysinh, Luong FromNhanvien WhereLuongnot between 1000000 and 2000000

  35. Truy vấn có điều kiện • Vídụ 13: Đưaradanhsáchcácnhânviênchưacósốđiệnthoại? Select * FromNhanvienWhere SDTis Null

  36. Truy vấn có điều kiện • Vídụ 14: Cho biếtcácnhânviênlàmviệc ở phòngcómãphònglàhcahoặc KDA? Câulệnh: Select *FromNhanvienWhereMaphong = ‘P1’ or Maphong = ‘P2’ hoặc: Select *FromNhanvienWhereMaphongin (‘P1’, ‘P2’)

  37. Truy vấn có điều kiện • Vídụ 15: Cho biếtdanhsáchcácnhânviêncótênbắtđầubằng ‘N’? Câulệnh: Select *FromNhanvienWhereHoTen like ‘N%’  tronglike dùngcáckíhiệuthaythế: % (mộtxâukítựbấtkì), _ (mộtkítựbấtkì)  Likechỉthaotáctrêncáctrườngkiểuxâukítự

  38. Truy vấn có sắp xếp dữ liệu • Thêmmệnhđề: [ORDER BYcolumn | expr | alias [ASC|DESC], . . .] Vídụ 16: Hãyđưaradanhsáchnhânviêntheotheochiềutăngdầncủalương? SelectManv, Hoten, Ngaysinh, Luong From NHANVIEN Order ByLuongAsc

  39. Truy vấn có sắp xếp dữ liệu Vídụ 17:Hãyđưaradanhsáchnhânviêntheotheochiềutăngdầncủalương, nếu 2 nhânviêncócùnglươngthìsắpxếptheongàysinhgiảmdần? SelectManv, Hoten, Ngaysinh, Luong From NHANVIEN Order ByLuongAsc, NgaysinhDesc  thứtựsắpxếptừtrái  phải

  40. Một số hàm thông dụng • Các hàm xử lý xâu kí tự • ASCII(s): trả về giá trị mã ASCII của kí tự bên nhất trái của xâu • Char(n): trả ra kí tự thứ n trong bảng mã ASCII • Upper(s): chuyển đổi xâu sang chữ hoa • Lower(s): chuyển đổi xâu sang chữ thường

  41. Một số hàm thông dụng • Các hàm xử lý xâu kí tự (tiếp) • +: phép toán ghép các xâu • Len(s): trả về độ dài của xâu • LTRIM(s): loại bỏ các kí tự trắng bên trái xâu • RTRIM(s): loại bỏ các kí tự trắng bên phải xâu • Left(s, n): trả về n kí tự (xâu con) phía bên trái nhất xâu s • Right(s, n): trả về n kí tự (xâu con) phía bên phải nhất xâu s

  42. Một số hàm thông dụng • Các hàm xử lý xâu kí tự (tiếp) • SubString(s, m ,n): trả về xâu con dài n kí tự của xâu s bắt đầu từ ví trí thứ m • Replace(s, s1, s2): thay thế các xâu con s1 xuất hiện trong xâu s bằng xâu s2 • Stuff (s, m, n, s1): xóa xâu con n kí tự bắt đầutừ vị trí thứ m trong xâu s và thay thế vào đó xâu s1 • Reverse(s): trả về xâu đảo ngược của xâu s

  43. Một số hàm thông dụng • Cáchàmngàytháng • Getdate(): trảvềngàythángnămcủahệthống • DatePart(thamsốdatepart,date): trảvềgiátrịnguyênlàthànhphầncủagiátrịdate • Cácthamsốcủadatepart: • qq,q : Quarter • yy, yyyy : Year • mm, m : Month • dy,y : Dayofyear • dd,d : Day • wk, ww : Week • dw : Weekday • hh : Hour • mi,n : Minute • ss,s : Second • ms : Milisecond

  44. Một số hàm thông dụng • Cáchàmngàytháng (tiếp) • DateDiff(datepart, date1,date2): trảvềkhoảngngày, tháng, năm, . . . giữa 2 ngày date1 và date2 • Dateadd(datepart,n,date): thêmmộtsố n datepartvào date • Day(d): trảvềgiátrịsốnguyêncủangày • Month(d): trảvềgiátrịsốnguyêncủatháng • Year(d): trảvềgiátrịsốnguyêncủanăm

  45. Một số hàm thông dụng • Các hàm toán học (tiếp) • Square(n) • Sqrt(n) • Round(f,n) • Power(f,n) • Pi() • Sign(f)

  46. Một số hàm thông dụng • Các hàm chuyển đổi • Convert(datatype[(size) ], exp [,style])

  47. Một số hàm thông dụng • Các hàm nhóm dữ liệu: • Count ([All | Distinct] Biểu thức):Hàm đếm số lượng các bộ thỏa mãn điều kiện • Max (Biểu thức), Min (Biểu thức): Hàm tính giá trị lớn nhất, nhỏ nhất của tập giá trị được tính theo biểu thức

More Related