Windows Việt

Cộng Đồng Công Nghệ Thông Tin Việt

Trang ChínhTrang Chính  Sự kiện  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share
 
 1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu?
Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
trochoima
Member

trochoima
Member
Giới tính : Nữ
Tuổi : 31
Posts Posts : 50
Coins Coins : 128
Thanked Thanked : 32
1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? Empty

Mình post 1 vài cơ sỡ dữ liệu mẫu tương tự csdl trong đề thi thầy Đức (chỉ khoảng 3-4 bảng) để mấy bạn cùng làm cho quen tay(phần tạo bảng ,vẽ khóa chính khóa ngoại 2d ,cái này chắc chắn có thi (chỉ sợ viết không kịp như hdt thui 1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? 387379 ) và kèm mấy câu trigger (nếu ai nghĩ thêm được câu trigger,hay sp nào thì tự bổ sung thêm, hay post lên forum cùng làm) chúc các bạn thi tốt quản trị . 1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? 259933 [You must be registered and logged in to see this link.]

※ Bài viết cùng chuyên mục


Tác giảThông điệp
KySyRong
Member

KySyRong
Member
Giới tính : Nam
Tuổi : 30
Posts Posts : 631
Coins Coins : 1810
Thanked Thanked : 102
1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? Empty

úi dzời ới! cảm ơn bác nè! em mới đọc đề chưa làm(vì ko bik làm Sad ) mà hầu hết các đề đều có ràng buộc dữ liệu(còn có khóa chính khóa ngoại! em e là rất hiếm ra ).bác nào biết làm thì giúp anh em gấp nhé.làm 1-2 đề để anh em quen cách làm rùi tự làm Sad


1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? 25187d6224a7bb5e1bfc63c343674e93-6d1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? A40781094019c430061d4344243f3374-11 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? 25187d6224a7bb5e1bfc63c343674e93-6d
-----------------------------------------------------------------------
cảm ơn đời mỗi sáng mai thức dạy cho ta thêm này nữa để yêu thương

※ Bài viết cùng chuyên mục


Tác giảThông điệp
trochoima
Member

trochoima
Member
Giới tính : Nữ
Tuổi : 31
Posts Posts : 50
Coins Coins : 128
Thanked Thanked : 32
1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? Empty

nhớ thêm bảng CT_DB


CREATE DATABASE BT07
;

CREATE TABLE DOIBONG
(
MaDoi varchar(2) Primary Key
,
TenDoi varchar(100
),
NamTL smallint
)
CREATE TABLE CT_DB
(
MaDoi varchar(2),
MaCauThu varchar(2),
NgayVaoCLB datetime
Constraint PK_CTDB Primary Key
(MaDoi,MaCauThu)
)

CREATE TABLE CAUTHU
(
MaCauThu varchar(2) Primary Key
,
TenCauThu varchar(50
),
Phai bit
,
NgaySinh datetime
,
NoiSinh varchar(50
)
)

CREATE TABLE THIDAU
(
MaDoi varchar(2
),
NgayThiDau datetime
,
HieuSo int
,
KetQua bit
Constraint PK_TD Primary Key
(MaDoi,NgayThiDau
)
)

CREATE TABLE PENELTY
(
MaPhat varchar(2) Primary Key
,
MaCT varchar(2
),
TienPhat numeric(10,2
),
LoaiThe varchar(1
),
NgayPhat datetime
)


-------------
TẠO CÁC RÀNG BUỘC KHÓA NGOẠI
--------------
---
THIDAU
---
Alter table THIDAU Add Constraint FK_THIDAU Foreign Key (MaDoi) References DOIBONG(MaDoi
);

--- CT_DB ---
Alter table CT_DB Add Constraint FK01_CTDB Foreign Key (MaDoi) References DOIBONG(MaDoi);
Alter table CT_DB Add Constraint FK02_CTDB Foreign Key (MaCauThu) References CAUTHU(MaCauThu);

--- PENELTY ---
Alter table PENELTY Add Constraint FK_PENELTY Foreign Key (MaCT) References CAUTHU(MaCauThu
);

------------
TẠO CÁC RÀNG BUỘC TOÀN VẸN
------------
/* Loại thẻ phạt chỉ có thể là 'D' hoặc 'V' */
Alter table PENELTY Add Constraint CK_PENELTY Check (LoaiThe in ('D','V'
));

/* Nếu loại thẻ là D (đỏ) thì số lần phạt cho mỗi cầu thủ trong một ngày chỉ tối đa bằng 1*/
/*
Bảng tầm ảnh hưởng:
Thêm Xóa Sửa
PENELTY + - +(MaCT,LoaiThe,NgayPhat)
*/

CREATE TRIGGER PHAT_TRG
ON PENELTY
FOR INSERT,
UPDATE
AS
Declare @
solanphat tinyint
Select
@solanphat=Count(B.MaPhat
)
From Inserted A,
PENELTY B
Where A
.MaCT=B.MaCT And A.NgayPhat=B.NgayPhat And A.LoaiThe=
'D'
IF @solanphat >
1
Begin
Rollback Tran
Print('So lan phat the do cho moi cau thu trong mot ngay chi toi da bang 1'
)
End
--------------------------------------------------
/*
Ví dụ vi phạm RBTV:
-- INSERT
Insert into PENELTY values('P5','C1',10000,'D','19/4/1981');

-- UPDATE
Update PENELTY
Set MaCT='C2',NgayPhat='4/4/1990'
Where MACT='C1'
*/

/* Tuổi của cầu thủ phải từ 17 đến 35.*/
Alter table CAUTHU Add Constraint CK_CAUTHU Check (DATEPART(YEAR,GETDATE())-YEAR(NGAYSINH) between 17 and 35);

/* Mỗi lần bị phạt, ngày phạt cầu thủ phải lớn hơn ngày sinh của cầu thủ đó */
/*
Bảng tầm ảnh hưởng:
Thêm Xóa Sửa
CAUTHU - - +(NgaySinh)
PENELTY + - +(MaCT,NgayPhat)
*/
---------- Tạo Trigger trên table CAUTHU -----------
CREATE TRIGGER NgayPhat_NgaySinh_CAUTHU
ON CAUTHU
FOR UPDATE
AS
Declare @
ngaysinh datetime, @ngayphat datetime
Select
@ngaysinh=NgaySinh, @ngayphat=NgayPhat
From Inserted
, PENELTY
Where Inserted
.MaCauThu=PENELTY.MaCT
IF @ngaysinh >= @ngayphat
Begin
Rollback Tran
Print('Ngay phat cau thu phai lon hon ngay sinh cua cau thu do')
End

---------- Tạo Trigger trên table PENELTY -----------
CREATE TRIGGER NgayPhat_NgaySinh_PENELTY
ON PENELTY
FOR INSERT, UPDATE
AS
Declare @
ngaysinh datetime, @ngayphat datetime
Select
@ngaysinh=NgaySinh, @ngayphat=NgayPhat
From Inserted
, CAUTHU
Where Inserted
.MaCT=CAUTHU.MaCauThu
IF @ngaysinh >= @ngayphat
Begin
Rollback Tran
Print('Ngay phat cau thu phai lon hon ngay sinh cua cau thu do')
End

/* Năm thành lập đội bóng luôn nhỏ hơn hoặc bằng năm hiện tại.*/
Alter table DOIBONG Add Constraint CK_DB Check (NamTL<=Getdate());

/* Năm gia nhập vào đội bóng của mỗi cầu thủ phải lớn hơn hoặc bằng năm thành lập của đội bóng đó */
/*
Bảng tầm ảnh hưởng:
Thêm Xóa Sửa
DOIBONG - - +(NamTL)
CT_DB + - +(MaDoi,NgayVaoCLB)
*/
---------- Tạo Trigger trên table DOIBONG -----------
CREATE TRIGGER NgayTL_NgayVaoCLB_DOIBONG
ON DOIBONG
FOR UPDATE
AS
Declare @
namtl int, @ngayvaoclb int
Select
@namtl=NamTL, @ngayvaoclb=Year(NgayVaoCLB)
From Inserted, CT_DB
Where Inserted
.MaDoi=CT_DB.MaDoi
IF @ngayvaoclb < @namtl
Begin
Rollback Tran
Print('Nam gia nhap vao doi bong cua moi cau thu phai lon hon hoac bang nam thanh lap cua doi bong do')
End

---------- Tạo Trigger trên table CT_DB -----------
CREATE TRIGGER NgayPhat_NgaySinh_CT_DB
ON CT_DB
FOR INSERT, UPDATE
AS
Declare @
namtl int, @ngayvaoclb int
Select
@namtl=NamTL, @ngayvaoclb=Year(NgayVaoCLB)
From Inserted, DOIBONG
Where Inserted
.MaDoi=DOIBONG.MaDoi
IF @ngayvaoclb < @namtl
Begin
Rollback Tran
Print('Nam gia nhap vao doi bong cua moi cau thu phai lon hon hoac bang nam thanh lap cua doi bong do')
End


/* Nếu LoaiThe là đỏ ('D') thì tiền phạt là 1000000. .*/
Alter table PENELTY Add Constraint CK_PENELTY Check ((LoaiThe='D' And TienPhat=1000000) or (LoaiThe<>'D'));

/* Tuổi của cầu thủ (NgaySinh) khi tham gia vào đội bóng (NgayVaoCLB) phải lớn hơn hoặc bằng 18 */
/*
Bảng tầm ảnh hưởng:
Thêm Xóa Sửa
CAUTHU - - +(NgaySinh)
CT_DB + - +(MaCauThu,NgayVaoCLB)
*/
---------- Tạo Trigger trên table CAUTHU -----------
CREATE TRIGGER Tuoi_CAUTHU
ON CAUTHU
FOR UPDATE
AS
Declare @
tuoi tinyint
Select
@tuoi=(Year(NgayVaoCLB)-Year(NgaySinh))
From Inserted, CT_DB
Where Inserted
.MaCauThu=CT_DB.MaCauThu
IF @tuoi<18
Begin
Rollback Tran
Print('Tuoi cau thu khi gia nhap doi bong phai tu 18 tuoi tro len')
End

-------------------------------------------
/* Ví dụ vi phạm RBTV:
Update CAUTHU
Set NgaySinh='18/2/1990'
Where MaCauThu='01'
*/

---------- Tạo Trigger trên table CT_DB -----------
CREATE TRIGGER Tuoi_CT_DB
ON CT_DB
FOR INSERT, UPDATE
AS
Declare @
tuoi tinyint
Select
@tuoi=(Year(NgayVaoCLB)-Year(NgaySinh))
From Inserted, CAUTHU
Where Inserted
.MaCauThu=CAUTHU.MaCauThu
IF @tuoi<18
Begin
Rollback Tran
Print('Tuoi cau thu khi gia nhap doi bong phai tu 18 tuoi tro len')
End

---------- NHẬP DỮ LIỆU ------------
set dateformat dmy
;

Insert into DOIBONG values('T1','Doi 1','1980'
);
Insert into DOIBONG values('T2','Doi 2','1990'
);
Insert into DOIBONG values('T3','Doi 3','2001'
);
Insert into DOIBONG values('T4','Doi 4','2002'
);
Insert into DOIBONG values('T5','Doi 5','1975'
);
Insert into DOIBONG values('T6','Doi 6','2005'
);

Insert into CAUTHU values('C1','Nguyen Van A',1,'18/5/1965','Ha Noi'
);
Insert into CAUTHU values('C2','Nguyen Van B',1,'1/6/1989','Ha Noi'
);
Insert into CAUTHU values('C3','Nguyen Van C',1,'21/3/1990','Tp HCM'
);
Insert into CAUTHU values('C4','Nguyen Van D',1,'12/6/1970','Da Nang'
);
Insert into CAUTHU values('C5','Nguyen Van E',1,'14/7/1991','Phu Yen'
);
Insert into CAUTHU values('C6','Nguyen Van F',1,'1/5/1960','Vung Tau'
);
Insert into CAUTHU values('C7','Nguyen Van G',1,'10/9/1988','Ha Noi'
);

Insert into THIDAU values('T1','19/4/1981',3,1
);
Insert into THIDAU values('T1','10/6/1981',2,0
);
Insert into THIDAU values('T1','20/7/1981',4,1
);
Insert into THIDAU values('T1','19/10/1981',1,0
);
Insert into THIDAU values('T2','4/4/1990',5,1
);
Insert into THIDAU values('T2','6/7/1990',3,1
);
Insert into THIDAU values('T3','1/6/2001',7,0
);

Insert into PENELTY values('P1','C1',10000,'D','19/4/1981'
);
Insert into PENELTY values('P2','C1',999,'V','10/6/1981'
);
Insert into PENELTY values('P3','C2',190000,'D','4/4/1990'
);
Insert into PENELTY values('P4','C3',1000,'V','1/6/2001'
);
Insert into PENELTY values('P6','C5',1000,Null,'1/6/2001'
);


Được sửa bởi trochoima ngày Thu 24 Jun 2010, 03:47; sửa lần 3.

※ Bài viết cùng chuyên mục


Tác giảThông điệp
lyhaipro1325
Member

lyhaipro1325
Member
Giới tính : Nam
Tuổi : 30
Posts Posts : 1
Coins Coins : 1
Thanked Thanked : 0
1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? Empty

cảm ơn bạn nhé. bài viết hay lắm!

※ Bài viết cùng chuyên mục


Tác giảThông điệp
trochoima
Member

trochoima
Member
Giới tính : Nữ
Tuổi : 31
Posts Posts : 50
Coins Coins : 128
Thanked Thanked : 32
1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? Empty

các bạn down về tham khảo nhé ...............http://www.mediafire.com/file/mdwlyujkmmn/ONTHI.rar
Lưu ý để trình bày đơn giản cách làm, thì mặc định không dùng trigger có cursor . còn thi có thể dùng trigger có cursor ....... các bạn chịu khó chuyển qua nha ................
ah Kèm theo còn scrip minh họa câu 5 transaction cho sp inthongtindocgia . càng nhiều ví dụ càng thi tốt

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Sponsored content


1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu? Empty

※ Bài viết cùng chuyên mục


 
1 vài Đề thi thử Quản Trị Cơ Sỡ Dữ Liệu?
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Windows Việt :: Lưu Trữ :: Lưu Trữ - Các môn học cũ :: Quản Trị Cơ Sở Dữ Liệu-
[Windows Việt] Deverloped by Nguyễn Gia Phú - https://windows.forumvi.com
Powered by © Forumotion.com - phpBB™ version ©phpBB2
Go to top Go to bottom