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

Bài giảng Cơ sở dữ liệu: Chương 3 - Nguyễn Việt Cường (p2)

16 2 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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 63,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Cơ sở dữ liệu - Chương 3: SQL - Phần 2 cung cấp cho người học các kiến thức về Data Definition Language, tham khảo các lệnh trên trong môi trường SQL Server. Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

Structured Query Language Phần 2

Chương 3

Trang 2

Nội dung

 DDL ( D ata D efinition L anguage)

 Định nghĩa Database

 Định nghĩa cấu trúc Bảng

 Định nghĩa ràng buộc toàn vẹn

 Định nghĩa khung nhìn

 Tham khảo các lệnh trên trong môi trường SQL Server

Trang 3

Tạo Database

 Trong SQL Server

CREATE DATABASE Sales

ON PRIMARY

( NAME = ‘Sale_data’,

FILENAME = ‘d:\database\Sales\Saledata.mdf', SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 2 )

LOG ON

( NAME = 'Sales_log',

FILENAME = ‘d:\database\Sales\Salelog.ldf', SIZE = 2,

MAXSIZE = 5,

Trang 4

Kiểu dữ liệu

Ký tự Char, Varchar, nchar, nvarchar, text, ntext

Số chính xác Tinyint, smallint, Int, bigint,

Số thực có

định dạng Decimal(i,j) , numeric(i,j)

Ngày giờ Smalldatetime, Datetime

Loại khác Money, Binary, Image, …

Trang 5

Tạo cấu trúc bảng

 Sử dụng lệnh Create, Alter, Drop để tạo , sửa, xóa cấu trúc bảng

 Lệnh tạo bảng Create:

 Định nghĩa các cột : tên cột, kiểu dữ liệu

 Khai báo các ràng buộc

 Cú pháp :

CREATE TABLE tênbảng (

Têncột_1 Kiểudữliệu [not null] [unique] [RBTV trên cột],

Têncột_n Kiểudữliệu [not null] [unique] [RBTV trên cột],

[RBTV bảng]

)

Trang 6

Tạo cấu trúc bảng

CREATE TABLE KHACHHANG (

MAKH nvarchar(10) NOT NULL Primary Key, TENKH nvarchar(30) NULL,

DIACHI nvarchar(40) NULL,

THANHPHO nvarchar(50) NOT NULL,

DIENTHOAI nvarchar(50) NULL

)

Trang 7

Tạo cấu trúc bảng

CREATE TABLE NHANVIEN (

MANV int NOT NULL,

HONV nvarchar(20) NULL,

TENNV nvarchar(10) NOT NULL,

PHAI bit NOT NULL,

NGAYSINH datetime NULL,

NOISINH nvarchar(15) NULL,

DIACHI nvarchar(40) NOT NULL,

DIENTHOAI nvarchar(13) NULL,

CONSTRAINT PK_NHANVIEN PRIMARY KEY (MANV)

Trang 8

Tạo cấu trúc bảng

CREATE TABLE SANPHAM (

MASP tinyint NOT NULL,

TENSP nvarchar(20) NULL,

DVT nvarchar(10) NULL,

DONGIA real NULL,

Tonkho bit

)

Go

ALTER TABLE SANPHAM ADD CONSTRAINT PK_SANPHAM PRIMARY KEY(MASP)

Go

Trang 9

Tạo cấu trúc bảng

CREATE TABLE HOADON (

MAHD nvarchar(5) NOT NULL PRIMARY KEY ,

LOAIHD nvarchar(1) NULL,

MAKH nvarchar(10) NULL,

MANV int NULL REFERENCES NHANVIEN (MANV), NGAYLAPHD datetime NULL,

NGAYGIAONHAN datetime NULL,

CONSTRAINT [FK_HD_KH] FOREIGN KEY(MAKH) REFERENCES KHACHHANG (MAKH)

)

Trang 10

Tạo cấu trúc bảng

CREATE TABLE CHITIETHOADON (

MAHD nvarchar(5) NOT NULL ,

MASP tinyint NOT NULL,

SOLUONG smallint NULL DEFAULT 0 ,

DONGIA float NULL,

CONSTRAINT PK_CTHD PRIMARY KEY (MAHD,MASP)

)

Go

ALTER TABLE CHITIETHOADON ADD CONSTRAINT [FK_CTHD_HD] FOREIGN KEY(MAHD)

REFERENCES HOADON (MAHD)

Go

ALTER TABLE CHITIETHOADON ADD CONSTRAINT [FK_CTHD_SP] FOREIGN KEY(MASP)

REFERENCES SANPHAM(MASP)

Trang 11

Chỉnh sửa cấu trúc bảng

 Sử dụng lệnh Alter để chỉnh sửa cấu trúc bảng : thêm/xóa cột, đổi kiểu dữ liệu, thêm/xóa ràng buộc

ALTER TABLE SANPHAM ADD NHOMHANG VARCHAR(3)

Go

ALTER TABLE SANPHAM

ALTER COLUMN NHOMHANG VARCHAR(5)

Go

ALTER TABLE SANPHAM

DROP COLUMN NHOMHANG

Go

ALTER TABLE CHITIETHOADON DROP CONSTRAINT

[FK_CTHD_HD]

 Xóa bảng

Trang 12

Tạo các Ràng buộc khác

 Ràng buộc miền giá trị

ALTER TABLE SANPHAM

ADD CONSTRAINT [CK_DG] CHECK (DONGIA>0)

Go

ALTER TABLE HOADON

ADD CONSTRAINT CK_Ngay CHECK

(NgaylapHD<=NgayGiaohang)

Go

ALTER TABLE SANPHAM ADD CONSTRAINT df_DG DEFAULT ‘kg’ FOR DONGIA

Trang 13

Khung nhìn – View

Khái niệm

 Là bảng “ảo” :

 Không lưu trữ dữ liệu

 Khi xem dữ liệu trong View, thực chất là xem tập kết quả của một câu lệnh Select

 Giống như bảng: có thể truy vấn, thêm, xóa, sửa dữ liệu thông qua view

 Mục đích:

 Che dấu tính phức tạp của dữ liệu

 Cung cấp cơ chế đảm bảo an toàn dữ liệu

Trang 14

Khung nhìn – View

Tạo View

 Cú pháp :

CREATE VIEW tênview [dscột]

AS SELECT … FROM … WHERE

Vd1: Tạo view chứa các nhân viên có chức vụ

‘kinhdoanh’

CREATE VIEW nvKDoanh

AS

Select *

From Nhanvien

Where chucvu like ‘kinh doanh’

Trang 15

Khung nhìn – View Công dụng

 Sử dụng view

Select * From nvKDoanh

Go

Insert into nvKDoanh

Values(…)

Go

Update nvKDoanh

Set luong = luong*1.1

Go

Trang 16

Khung nhìn – View

Hạn chế

 Vd2:

CREATE VIEW vwHD

AS Select Manv, Count(*)

From Hoadon

Group by Manv

Go

Select count(*) From vwHD

Go

Update vwHD

Set manv = '100‘

Where manv =1

Go

Delete From vwHD

Không cập nhật trên View mà

sử dụng hàm Aggregate hay Distinct khi tạo

Không xóa trên View mà sử dụng hàm Aggregate hay Distinct , hoặc xây dựng từ nhiều bảng

Ngày đăng: 11/05/2021, 00:45

🧩 Sản phẩm bạn có thể quan tâm