1. Trang chủ
  2. » Công Nghệ Thông Tin

Chuong2 xaydung quanli khaithaccsdl hltknhung

100 0 0

Đ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

Nội dung

Chương Xây dựng - Quản lí Khai thác CSDL Nội dung Khái niệm CSDL Tạo quản lý CSDL Các kiểu liệu Tạo quản lý bảng www.themegallery.com Ràng buộc toàn vẹn đơn giản Các thao tác liệu Khái niệm CSDL - logic Logfile: lưu tất giao tác CSDL cần cho số chế khôi phục liệu Datafile: chứa liệu hành Logfile chứa tất liệu thao tác csdl NDF : secoNdary DataFile CSDL: gồm file mdf (main data file) ldf (log data file) Các đuôi file chuẩn gợi ý ko bắt buộc www.themegallery.com Khái niệm CSDL - logic vTrong SQL server: CSDL chia thành loại § CSDL hệ thống § CSDL người dùng tạo www.themegallery.com Khái niệm CSDL - logic Database Schema Attribute Datatype Primary key Foreign key Constraint User Table View Role www.themegallery.com Default Trigger Rule Function Store procedure SQL server 2008 www.themegallery.com Nội dung Khái niệm CSDL Tạo quản lý CSDL Các kiểu liệu Tạo quản lý bảng www.themegallery.com Ràng buộc toàn vẹn đơn giản Các thao tác liệu T-SQL language statements SELECT INSERT UPDATE DELETE CREATE ALTER DROP GRANT REVOKE DENY BEGIN TRAN COMMIT TRAN ROLLBACK TRAN Data Manipulation Language: ảnh hưởng dịng bảng Data Definition Language: xử lí thiết kế đối tượng csdL Data Control Language: điều khiển mức độ truy cập để bảo mật Transaction Control Language: cho phép quản lí giao tác www.themegallery.com Tạo CSDL Tên logic CSDL gì? Tên file vật lý liệu gì? Tên file log vật lý liệu gì? Kích thước file liệu ban đầu? Database Bước tăng kích thước? Kích thước tối đa file liệu? www.themegallery.com Tạo CSDL Tên DB, không trùng, tối đa 128 char CREATE DATABASE database_name [ ON [ [PRIMARY] < filespec > [ , n ] ]] [ LOG ON { < filespec > [ , n ] } ] < filespec > định nghĩa sau Danh sách file DL muốn định cụ thể Danh sách file log muốn định cụ thể Tên file dùng môi trường SQL Server ( [ Name = logical_file_name , ] Tên thực file Filename = 'os_file_name' (bao gồm đường dẫn) [ , SIZE = size ] [ , Maxsize = { max_size | UNLIMITED } ] [ , Filegrowth = growth_increment ] ) [ , n ] www.themegallery.com Thêm/ xoá/ sửa liệu vChú ý thêm/ xóa / cập nhật § Dữ liệu nhập phải § Định dạng giá trị kiểu § Nhập giá trị rỗng (null) 86 www.themegallery.com với toàn vẹn liệu , kiểu Các dạng lệnh insert vCách 1: Thêm dòng liệu vào bảng Insert [into] Table_name[ (column_name[,…n] )] values ( value [,…n] ) vCách 2: Thêm 0-n dòng liệu từ bảng khác Insert [into] Table_name Select_statement 87 www.themegallery.com Ví dụ INSERT INTO SinhVien (Hoten, NgaySinh, DiemTB) VALUES ( N'Trương Hà‘ , '1/1/1990', 3.4), (N'Nguyễn Văn A‘ , '1/1/1992', 7.0) INSERT INTO SinhVien (Hoten, NgaySinh, DiemTB) SELECT HoTen, NgaySinh, null FROM SINH_VIEN www.themegallery.com Ví dụ vVí dụ: select * From QLSinhVien.dbo.SinhVien vLưu ý: câu select, ta đọc liệu từ bảng database khác Khi đó, tên bảng viết đầy đủ sau: Database_name.schema.Table_name www.themegallery.com Bài tập v INSERT INTO CanBo(MaCB, HoTen, NgaySinh, DienThoai) VALUES ( ‘CB001’, Nguyễn Thái Bình,1/1/1990, 0905743576), VALUES ( ‘CB001’, Nguyễn Thái Bình,'1/1/1000', 0905743576), ( ‘CB002’, ‘Nguyễn Thái Bình’,'1/1/1990', ‘0905743576’) (SELECT HoTen, NgaySinh, null FROM GIAO_VIEN) GO INSERT CanBo(MaCB, HoTen, NgaySinh, DienThoai) (SELECT MaCB, HoTen, NgaySinh FROM GIAO_VIEN WHERE NgaySinh IS NOT NULL) SELECT * FROM CanBo www.themegallery.com Bài tập v INSERT INTO CanBo(MaCB, HoTen, NgaySinh, DienThoai) VALUES ( ‘CB001’, N’Nguyễn Thái Bình’,’1/1/1990’, 0905743576), VALUES ( ‘CB001’, N’Nguyễn Thái Bình’,'1/1/1000', 0905743576), ( ‘CB002’, ‘Nguyễn Thái Bình’,'1/1/1990', ‘0905743576’), (SELECT MACB, HoTen, NgaySinh, null FROM GIAO_VIEN) GO INSERT CanBo(MaCB, HoTen, NgaySinh, DienThoai) (SELECT MaCB, HoTen, NgaySinh , thiếu cột FROM GIAO_VIEN WHERE NgaySinh IS NOT NULL) SELECT * FROM CanBo www.themegallery.com Bài tập v Xác định thứ tự nhập liệu vào quan hệ v Nhập liệu vào quan hệ DangKy với thông tin sau: § MaSV: lấy từ bảng SinhVien § MaMH: lấy từ bảng môn học với tên môn học ‘Quản trị CSDL’ v Xem liệu quan hệ vừa nhập v Nhập liệu bảng CanBo cách đổ liệu từ bảng Can_Bo CSDL QLSV www.themegallery.com Cập nhật liệu vChỉ thị Xuất liệu trước sau UPDATE KETQUA cập nhật hình SET Diem = Diem * 1.1 output deleted.diem, inserted.diem WHERE LanThi = Chỉ có với phiên SQL Server 2005 trở lên www.themegallery.com 93 Ví dụ vVí dụ INSERT INTO LoaiDiaOc (maLoai,tenLoai) output inserted.tenLoai VALUES(15, N‘biệt thự’) vVí dụ DELETE from HangHoa output deleted.DonGia WHERE DonGia < 100000 www.themegallery.com Cập nhật liệu vChỉ thị OUTPUT Create table HH ( MaHH varchar(10) primary key, DonGia float) UPDATE HangHoa SET DonGia = DonGia*110/100 output deleted.MaHH, deleted.DonGia into HH WHERE LoaiHang = ‘Milk’ Xuất liệu bảng www.themegallery.com 95 Ví dụ (tt) DELETE FROM HangHoa output deleted.MaHg, deleted.DonGia INTO HH WHERE DonGia < 100000 SELECT * INTO HH FROM HangHoa WHERE MaHH Like ‘%2’ www.themegallery.com Bảng HH phải chưa tồn CSDL Cập nhật liệu vChỉ thị • UPDATE Top(@n) HangHoa SET DonGia = DonGia*110/100 WHERE LoaiHang = ‘Milk’ • INSERT Top(@n) INTO LoaiDiaOc (maLoai,tenLoai) SELECT maLoai,tenLoai FROM LoaiDiaOc2 www.themegallery.com 97 Ví dụ (tt) Delete Top(@n) from HangHoa where DonGia < 100000 www.themegallery.com Bài tập 9: Cài đặt Cập nhật DiemTB = DiemTB + 0.2 cho 10 sinh viên xuất bảng DiemTBTemp Xem danh sách sinh viên top (n) (n: tùy chỉnh) Xóa sinh viên có điểm TB thấp Hãy xuất bảng Temp Tạo bảng vào để chứa thơng tin 10 sinh viên có điểm trung bình cao sinh vào năm 1992 www.themegallery.com Q&A • www.themegallery.com

Ngày đăng: 06/04/2023, 09:30

w