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

BÀI TẬP THỰC HÀNH CƠ SỞ DỮ LIỆU pot

44 2,6K 24

Đ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 44
Dung lượng 851,67 KB

Nội dung

Bài tập thực hành cơ sở dữ liệu: Sinh viên khảo sát một số thông tin trong các cơ sở dữ liệu có sẵn ở trên.. Bài tập thực hành cơ sở dữ liệu: Tạo các cột cho bảng Đặt tên bảng Thay đổi

Trang 1

Bài tập thực hành cơ sở dữ liệu:

BÀI TẬP THỰC HÀNH CƠ SỞ DỮ LIỆU

Buổi 1:

Khởi động SQL server 2005

Start\Programs File\MicroSoft SQL Server 2005\SQL Server Management Studio

Xuất hiện hộp thoại sau

- Khai báo thông tin kết nối:

Trang 2

Bài tập thực hành cơ sở dữ liệu:

 Authentication: Chọn chế độ xác thực là Windows authentication hoặc SQL Server authentication Nếu chọn chế độ là SQL Server authentication thì phải cho biết Login name (mặc định là sa) và Password

- Chọn Connect Nếu kết nối thành công thì cửa sổ Microsoft SQL Server Management Studio xuất hiện

Trang 3

Bài tập thực hành cơ sở dữ liệu:

Sinh viên khảo sát một số thông tin trong các cơ sở dữ liệu có sẵn ở trên

Xem các CSDL bằng câu lệnh: SP_helpdb

 Hai tập tin vật lý để lưu trữ dữ liệu:

o Lưu trữ dữ liệu (data file)

o Lưu trữ các giao tác mà người dùng đã thực hiện (transaction log file)

 Các tập tin CSDL trong SQL Server được chia thành 3 loại tập tin

 Tập tin dữ liệu chính (Primary Data File) Phần mở rộng của tập tin này là *.mdf

 Tập tin thứ yếu (Secondary Data Files) (không bắt buộc phải có khi tạo mới

Trang 4

Bài tập thực hành cơ sở dữ liệu:

 Tập tin lưu trữ (Log Files) Phần mở rộng là *.ldf

Các thuộc tính CSDL trong SQL Server

 Tên CSDL (Database name): dài tối đa 128 ký tự, duy nhất trong SQL Server

 Vị trí tập tin (File location): Thông thường tập tin này sẽ được lưu tại

C:\Program Files\Microsoft SQL Server\MSSQL\ Data

 Tên tập tin (File name): là tên luận lý của mỗi loại tập tin dữ liệu tương ứng mà

hệ thống SQL Server dùng để quản lý bên trong

 Kích thước ban đầu (Initial size): là kích thước khởi tạo của tập tin dữ liệu khi

CSDL mới được tạo lập

 Tăng kích thước tập tin dữ liệu (File growth)

 Kích thước tối đa tập tin dữ liệu (Maximun file size)

Ví dụ: Tạo CSDL có tên QLSV với kích thước ban đầu là 50 MB, tự động tăng kích

thước lên 10% khi dữ liệu đầy, kích thước tăng trưởng tập tin tối đa không quá 200MB

Và tập tin lưu vết với kích thước ban đầu lúc khởi tạo là 10MB, tự động tăng kích thước tập tin lên 5 MB khi dữ liệu bị đầy, kích thước tăng trưởng tập tin không giới hạn

 Cách 1: Tạo trong Query Analyzer (bằng câu lệnh)

CREATE DATABASE QLSV

ON PRIMARY (NAME = QLSV,

FILENAME= ‘C:\Program Files\Microsoft SQL Server\MSSQL\Data\ QLSV.mdf’, SIZE=50MB, MAXSIZE = 200MB,

FILEGROWTH = 10%, Đường dẫn có thể thay đổi tùy theo từng máy

LOG ON(NAME = QLSV_Log,

FILENAME= ‘C:\Program Files\Microsoft SQL Server\MSSQL\Data\ QLSV_Log.ldf',

SIZE=10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 5MB) Đường dẫn có thể

Trang 5

Bài tập thực hành cơ sở dữ liệu:

Trang 6

Bài tập thực hành cơ sở dữ liệu:

CREATE TABLE LOP

( Malop char(6) NOT NULL,

TenLop varchar(20) NOT NULL,

)

Tạo cấu trúc bảng có giá trị mặc định

CREATE TABLE LOP

)

Tạo cấu trúc bảng có giá trị định danh

CREATE TABLE LOP

Trang 7

Bài tập thực hành cơ sở dữ liệu:

Tạo các cột cho bảng

Đặt tên bảng

Thay đổi cấu trúc bảng

Thêm cột vào bảng

Ví dụ: Thêm cột Nien_khoa có kiểu dữ liệu int vào bảng LOP

ALTER TABLE LOP

ADD Nien_khoa int

Sửa đổi kiểu dữ liệu của cột

Nhập tên thuộc tính

Kiểu dữ liệu

Trang 8

Bài tập thực hành cơ sở dữ liệu:

ALTER TABLE LOP

ALTER COLUMN Nien_khoa char(9)

Thay đổi tên cột

Ví dụ: Thay đổi tên cột Nien_khoa thành khoa_hoc trong bảng LOP EXEC sp_rename ‘LOP.nien_khoa’, ‘khoa_hoc’, ‘COLUMN’

Hủy bỏ cột hiện có bên trong bảng

Ví dụ: Xóa cột Nien_Khoa trong bảng LOP

ALTER TABLE LOP

DROP COLUMN Nien_khoa

Thay đổi tên bảng

Ví dụ: Thay đổi tên bảng LOP thành LOPHOC

EXEC sp_rename ‘LOP’, ‘LOPHOC’

Sinh viên có thể tạo một cơ sở dữ liệu khác để thực tập

Trang 9

Bài tập thực hành cơ sở dữ liệu:

Buổi 2:

Tạo CSDL QLDACT (Quản lý đề án công ty)

Create database QLDACT

CREATE TABLE NV - - NHANVIEN

Trang 10

Bài tập thực hành cơ sở dữ liệu:

Create table DA DE AN

Diadiem_da varchar(15),

);

go

Create table PC PHAN CONG

( Ma_nvien char(9) not null,

Thoigian decimal(3,1)

);

go

Create table TN - - THAN NHAN

( Ma_nvien char(9) not null,

Tentn char(10) not null,

create table DD_P DIA DIEM PHONG

Diadiem varchar(10) notnull,

Trang 11

Bài tập thực hành cơ sở dữ liệu:

Mở bảng PB thêm ràng buộc khóa chính, khóa ngoại vào

alter table PB

add constraint pb_Maphg_pk primary key (Maphg),

constraint ma_nql_fk foreign key (ma_nql) references Nv(manv)

Xóa các bảng đã tạo

drop table NV

drop table PB

Xóa luôn cơ sở dữ liệu vừa tạo

drop database QLDACT

THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE)

Để quan tâm nhiều hơn đến các nhân viên, công ty sẽ ghi nhận một số thông tin về các thân nhân của các nhân viên Tên, ngày tháng năm sinh và mối quan hệ của các thân nhân sẽ được ghi lại

PHONGBAN (TENPHG, MAPHG, TRPHG, NG_NHANCHUC)

Mỗi phòng ban đều có mã duy nhất, có tên phòng, do một nhân viên nào đó phụ trách, và ghi nhận cả ngày trưởng phòng đó bắt đầu phụ trách phòng

DIADIEM_PHG (MAPHG, DD_P)

Mỗi phòng ban có thể có một hay nhiều địa điểm

DEAN (TENDA, MADA, DD_DA, PHONG)

Công ty sẽ thực hiện các đề án khác nhau Do đó mỗi đề án đều ghi lại mã và tên đề án Địa điểm thực hiện đề án cũng như phòng ban chủ trì đề án đều được ghi nhận

Trang 12

Bài tập thực hành cơ sở dữ liệu:

PHANCONG (MA_NVIEN, SODA, THOIGIAN)

Mỗi nhân viên có thể tham gia vào nhiều đề án khác nhau, và mỗi đề án có thể được nhiều nhân viên tham gia Khi nhân viên tham gia đề án, thì mã nhân viên đó, mã đề án đó cũng như thời gian làm việc của nhân viên cho đồ án trong một tuần sẽ được ghi lại

B Mô tả chi tiết:

PHONGBAN(MAPHG, TENPHG, TRPHG, NGNC)

STT Thuộc tính Kiểu dữliệu Diễn giải

1 MAPHG Số nguyên Mã phòng ban

2 TENPHG Chuỗi (100) Tên phòng ban

3 TRPHG chuỗi (9) Mã nhân viên trưởng phòng

4 NG_NHANCHUC Ngày (mm/dd/yyyy) Ngày nhận chức

NHANVIEN (HONV, TENLOT, TENNV, MANV, NGSINH, DIACHI, PHAI, LUONG, MA_NQL,

PHG)

STT Thuộc tính Kiểu dữ liệu Diễn giải

3 TENLOT Chuỗi (15) Năm học hiện tại

5 NGSINH Ngày (mm/dd/yyyy) Ngày sinh

7 DCHI Chuỗi (50) Địa chỉ của nhân viên

8 MA_NQL Chuỗi (9) Mã người quản lý

Trang 13

Bài tập thực hành cơ sở dữ liệu:

DEAN(MADA, TENDA, DDIEM_DA, PHONG)

STT Thuộc tính Kiểu dữ liệu Diễn giải

3 DD_DA chuỗi (50) Địa điểm diễn ra đề án

4 PHONG Số nguyên Mã phòng quản lý đề án

PHANCONG(MA_NVIEN, SODA, THOIGIAN)

STT Thuộc tính Kiểu dữ liệu Diễn giải

1 MA_NVIEN Chuỗi (9) Mã nhân viên

2 SODA Số nguyên Mã đề án

3 THOIGIAN Số thực Thời gian làm việc trong 1 đề án của nhân viên

DIADIEM_PHG(MAPHG, DIADIEM)

STT Thuộc tính Kiểu dữliệu Diễn giải

1 MAPHG Số nguyên Mã phòng ban

2 DD_P Chuỗi (30) Địa điểm của phòng ban

THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE)

STT Thuộc tính Kiểu dữliệu Diễn giải

1 MA_NVIEN Chuỗi (9) Mã nhân viên

2 TENTN Chuỗi (30) Tên thân nhân

3 PHAI Chuỗi (4) Phái: Nam, Nữ

4 NGSINH Ngày (mm/dd/yyyy) Ngày sinh

5 QUANHE Chuỗi (10) Mối quan hệ của thân nhân với nhân viên

Trang 14

Bài tập thực hành cơ sở dữ liệu:

C Sơ đồ quan hệ của lược đồ

Trang 15

Bài tập thực hành cơ sở dữ liệu:

D Thể hiện của lược đồ quan hệ

Nguyen Bao Hung 123456789 09/01/1965 73 Phan Dang Luu,

PHONGBAN TENPHG MAPHG TRPHG NG_NHANCHUC DIADIEM_PHG MAPHG DIADIEM

5 Phu Nhuan

5 Thu Duc

MA_NVIEN TENTN PHAI NGSINH QUANHE TENDA MADA DDIEM_DA PHONG

333445555 Anh Nu 05/04/1986 Con gai San pham X 1 Tan Binh 5

333445555 The Nam 25/10/1983 Con trai San pham Y 2 Thu Duc 5

333445555 Loi Nu 03/05/1958 Vo San pham Z 3 Phu Nhuan 5

987654321 An Nam 28/02/1942 Chong Tin hoc hoa 10 Go Vap 4

Trang 16

Bài tập thực hành cơ sở dữ liệu:

Trang 17

Bài tập thực hành cơ sở dữ liệu:

Tạo lại CSQL QLDACT và tạo các bảng bao gồm tất cả các ràng buộc toàn vẹn (khóa chính, khóa ngoại, check, default, unique,…), mỗi ràng buộc đều có đặt tên cho nó GVHD thực hành chỉ cho sinh viên cách tạo khóa chính, khóa ngoại bằng Enterprise Manager

create database QLDACT

go

use QLDACT

go

CREATE TABLE PB

Trang 18

Bài tập thực hành cơ sở dữ liệu:

Trang 19

Bài tập thực hành cơ sở dữ liệu:

Create table DA

Tenda varchar(15)notnull,

( Ma_nv char(9)notnull,

Thoigian decimal(3,1),

constraint PC_MaNV_Mada_PK PRIMARY KEY (Ma_nv, Mada),

constraint PC_Ma_nv_Fk FOREIGN KEY (ma_nv) REFERENCES NV (manv), constraint PC_Mada_Fk FOREIGN KEY (mada) REFERENCES DA (mada) );

go

Create table TN

Phai char(3) constraint TN_Phai_CK CHECK (phai IN('Nam','Nu')),

constraint TN_Ma_nv_Tentn_Fk PRIMARY KEY (Ma_nv, TENTN),

constraint TN_Ma_nv_Fk FOREIGN KEY (ma_nv) REFERENCES NV (manv) );

go

Trang 20

Bài tập thực hành cơ sở dữ liệu:

create table DD_P

Diadiem varchar(10) notnull,

constraint DD_P_Maphg_Diadiem_pk primary key (maphg, diadiem),

constraint DD_P_Maphg_Fk FOREIGN KEY (maphg) REFERENCES PB(maphg) );

Mở bảng PB ra thêm ràng buộc khóa ngoại cho thuộc tính ma_nql

alter table PB

add constraint PB_ma_nql_Fk foreign key (ma_nql) references NV(manv)

Cho cơ sở dữ liệu QLSV như sau:

A Các quan hệ

• Khoa(Makh, TenKH) Khoa

Mỗi Khoa có một mã số duy nhất (MAKH) để phân biệt với các khoa khác Xác định một tên Khoa (TenKh) duy nhất

• SV(MASV,TEN,NAM,KHOA) – Sinh viên

Mỗi sinh viên có một mã số sinh viên (MASV) để phân biệt với các sinh viên khác Mỗi sinh viên có tên sinh viên (TEN), đăng ký học một khoa và năm học hiện tại (NAM) là một trong các năm từ 1 đến 4

• MH( MAMH,TENMH, TINCHI, KHOA) –Môn học

Mỗi mônhọc có một mã số (MAMH) để phân biệt với các môn học khác, tên mônhọc (TENMH) không trùng lắp nhau Mỗi môn học do một khoa (KHOA) phụ trách và có số tín chỉ quy định (TINCHI)

• DK (MAMH, MAMH_TRUOC) – Điều kiện

Trang 21

Bài tập thực hành cơ sở dữ liệu:

• LOP_MH (MA_LopMH, MAMH, HOCKY, NAM, GV) – Lớp môn học

Mỗi lớp môn học có một mã (MA_LopMH) duy nhất để phân biệt với các lớp môn học khác Mỗi lớp môn học sẽ mở cho một môn học (MAMH) thuộc học kỳ (HOCKY) trong năm học (NAM) và do một giáo viên phụ trách (GV)

• KQ(MASV, MAKH, DIEM) – Kết quả

Mỗi sinh viên (MASV) theo học một lớp môn học (MA_LopMH) sẽ có một điểm số(DIEM) Sinh viên chỉ theo học các lớp môn học mở ra cho môn học thuộc về khoa

mà sinh viên đang theo học Ứng với một lớp môn học mà sinh viên theo học, sinh viên

có một điểm số duy nhất (DIEM) từ 0 đến 10 điểm

B Mô tả chi tiết:

Khoa (MaKh, TenKh)

Stt  Thuộc tính  Kiểu dữ liệu  Diễn giải 

SV (MASV, TEN, NAM, KHOA)

STT Thuộc tính Kiểu dữ liệu Diễn giải

MH ( MAMH, TENMH, TINCHI, KHOA)

STT Thuộc tính Kiểu dữ liệu Diễn giải

DK (MAMH, MAMH_TRUOC)

STT Thuộc tính Kiểu dữ liệu Diễn giải

Lop_MH (MAKH, MAMH, HOCKY, NAM, GV)

STT Thuộc tính Kiểu dữ liệu Diễn giải

Trang 22

Bài tập thực hành cơ sở dữ liệu:

KQ(MASV, MAKH, DIEM)

STT Thuộc tính Kiểu dữ liệu Diễn giải

C Sơ đồ quan hệ của lược đồ

D Thể hiện của lược đồ quan hệ

Trang 23

Bài tập thực hành cơ sở dữ liệu:

Nhap mon tin hoc COSC1310 4 CNTT Cau truc du lieu COSC3330 4 CNTT Toan roi rac MATH2410 3 TOAN

Co so du lieu COSC3320 3 CNTT

DK MAMH MAMH_TRUOC

COSC3380 COSC3320 COSC3380 MATH2410 COSC3320 COSC1310

Lop_MH MAKH MAMH HOCKY NAM GV

create table Khoa Khoa

Trang 24

Bài tập thực hành cơ sở dữ liệu:

go

Trang 25

Bài tập thực hành cơ sở dữ liệu:

create table SV Sinh viên

references Khoa(Makh)

);

go

create table MH môn học

references Khoa(Makh)

);

go

create table DK Điều kiện

MaMH_Tr char(8)notnull,

constraint DK_MAMH_MaMH_TR_PK primary key(MaMH, MaMH_Tr), constraint DK_MaMH_FK foreign key (MaMH) references MH(MaMH),

constraint DK_MaMH_Tr_FK foreign key (MaMH_Tr)references MH(MaMH) );

go

create table Lop_MH Lớp môn học

MaMH char(8) constraint Lop_MH_MaMH_FK foreign key (MaMH)references MH(MaMH),

HocKi int constraint Lop_MH_Hoc_Ki_Ck check (HocKi in (1,2,3)),

Trang 26

Bài tập thực hành cơ sở dữ liệu:

go

create table KQ Kết quả

Diem float constraint KQ_Diem_CK check (Diem between 0 and 10),

constraint KQ_MaSV_MaLopMH_pk primary key (MASV, malopMH), constraint KQ_MaSV_fk foreign key (MASV) references SV(MaSV), constraint KQ_MaLopMH_fk foreign key (MALopMH) references

Trang 27

Bài tập thực hành cơ sở dữ liệu:

Click vào Files để xem tên đường dẫn của hai file cần sao lưu

Đóng cửa sổ Properties Right_click vào tên CSDL\Tasks\Detach

Stop SQL Server, theo đường dẫn ở trên cut 2 file (QLSV và QLSV_LOG) lưu vào vị trí cần lưu

Trang 28

Bài tập thực hành cơ sở dữ liệu:

Cách tạo lại database từ 2 file đã có:

Mở SQL server lên Right_lick vào Database/Attach

Xuất hiện hộp thoại

Trang 29

Bài tập thực hành cơ sở dữ liệu:

Nhấn nút Add, chọn đường dẫn đến vị trí đã lưu, chọn tên CSDL cần sao lưu

Nhấn OK

Trang 30

Bài tập thực hành cơ sở dữ liệu:

Buổi 3:

Nhập dữ liệu cho 2 cơ sở dữ liệu trong buổi 2

Nhập liệu cho cơ sở dữ liệu QLSV

Bảng Khoa

insert into Khoa (MaKH, TenKH) values('CNTT','Khoa Công nghệ thông tin')

insert into Khoa (MaKH, TenKH) values('TOAN','Khoa Toán')

Bảng Sinh viên

insert into SV(MaSV,TenSV,MaKH,Nam) values('SV017','Sơn','CNTT',1)

insert into SV(MaSV,TenSV,MaKH,Nam) values('SV008','Bao','CNTT',2)

insert into SV(MaSV,TenSV,MaKH,Nam) values('SV025','Nam','TOAN',2)

insert into SV(MaSV,TenSV,MaKH,Nam) values('SV020','Hạnh','TOAN',1)

Trang 31

Bài tập thực hành cơ sở dữ liệu:

Bảng Lớp môn học

insert into Lop_MH(Ma_LopMH,MaMH,HocKi,NamHoc,GV)

values(85,'MATH2410',1,86,'Kim')

insert into Lop_MH(Ma_LopMH,MaMH,HocKi,NamHoc,GV)

values(92,'COSC1310',1,86,'An')

insert into Lop_MH(Ma_LopMH,MaMH,HocKi,NamHoc,GV)

values(102,'COSC3320',2,87,'Niên')

insert into Lop_MH(Ma_LopMH,MaMH,HocKi,NamHoc,GV)

values(112,'MATH2410',1,87,N'Châu')

insert into Lop_MH(Ma_LopMH,MaMH,HocKi,NamHoc,GV)

values(119,'COSC1310',1,87,'An')

insert into Lop_MH(Ma_LopMH,MaMH,HocKi,NamHoc,GV)

values(135,'COSC3330',1,88,'Sơn')

delete from KQ

Bảng kết quả

insert into KQ(MaSV,MaLopMH,Diem) values ('SV017',112,8)

insert into KQ(MaSV,MaLopMH,Diem) values ('SV017',119,6)

insert into KQ(MaSV,MaLopMH,Diem) values ('SV008',85,10)

insert into KQ(MaSV,MaLopMH,Diem) values ('SV008',92,10)

insert into KQ(MaSV,MaLopMH,Diem) values ('SV025',135,7)

insert into KQ(MaSV,MaLopMH,Diem) values ('SV020',102,8)

insert into KQ(MaSV,MaLopMH,Diem) values ('SV008',102,7)

Trang 32

Bài tập thực hành cơ sở dữ liệu:

Bảng NHÂN VIÊN

insert into NV(Tennv,Tenlot,Honv,Manv,Ngsinh,Dchi,Phai,Luong,ma_nql,Phg) values ('Le','Van','Bo','888665555','1937-11-10','450 Trung Vuong, Ha

Noi','Nam',55000,null,1);

insert into NV(Tennv,Tenlot,Honv,Manv,Ngsinh,Dchi,Phai,Luong,ma_nql,Phg) values ('Phan','Van','Nghia','333445555','1955-12-08','638 Nguyen Van Cu, Q5,

Trang 33

Bài tập thực hành cơ sở dữ liệu:

Chỉnh sửa dữ liệu bảng PHÒNG BAN

insert into DD_P(Maphg,Diadiem) values (1,'Phu Nhuan');

insert into DD_P(Maphg,Diadiem) values (4,'Go Vap');

insert into DD_P(Maphg,Diadiem) values (5,'Tan Binh');

insert into DD_P(Maphg,Diadiem) values (5,'Phu Nhuan');

insert into DD_P(Maphg,Diadiem) values (5,'Thu Duc');

Bảng DỰ ÁN

insert into DA(Tenda,Mada,Diadiem_da,Phong) values ('San pham X',1,'Tan Binh',5); insert into DA(Tenda,Mada,Diadiem_da,Phong) values ('San pham Y',2,'Thu Duc',5); insert into DA(Tenda,Mada,Diadiem_da,Phong) values ('San pham Z',3,'Phu Nhuan',5); insert into DA(Tenda,Mada,Diadiem_da,Phong) values ('Tin hoc hoa',10,'Go Vap',4); insert into DA(Tenda,Mada,Diadiem_da,Phong) values ('Tai to chuc',20,'Phu Nhuan',1); insert into DA(Tenda,Mada,Diadiem_da,Phong) values ('Phuc loi',30,'Go Vap',4);

Bảng PHÂN CÔNG

insert into PC(Ma_nv,Mada,Thoigian) values ('123456789',1,32.5);

Ngày đăng: 22/03/2014, 20:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w