Tải bản đầy đủ (.doc) (28 trang)

THUC HANH MODULE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (912.45 KB, 28 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Hướng Dẫn Thực Hành


Hướng Dẫn Thực Hành



<b>Hướng dẫn:</b>


 Bài tập thực hành được chia làm nhiều Module


 Mỗi Module được thiết kế cho thời lượng là 3 tiết thực hành tại
lớp với sự hướng dẫn của giảng viên.


 Tùy theo số tiết phân bổ, mỗi tuần học có thể thực hiện nhiều
Module.


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Module 1 </b>



Nội dung kiến thức thực hành:
+Thực hành ngôn ngữ SQL:


- ngôn ngữ định nghĩa dữ liệu: CREATE TABLE


- ngôn ngữ thao tác dữ liệu: INSERT, UPDATE, DELETE...


+Thông qua việc cài đặt cơ sở dữ liệu trên DBMS,SV hiểu rõ hơn về
mơ hình ER, mơ hình quan hệ


<i><b>Bài 1. </b></i>



<b>Mục đích: </b>


Xác định quan hệ giữa các thực thể, khóa chính, khóa ngoại
<b>Mơ tả: </b>



Cho lược đồ CSDL sau, xác định quan hệ giữa các thực thể, khóa
chính, khóa


ngoại.


<b>G</b>


<b>GGợi ý: </b>


SV xác định và gạch dưới các thuộc tính làm khóa chính.

<i><b>Bài 2: </b></i>



<b>Mục đích: </b>


Sử dụng ngơn ngữ định nghĩa dữ liệu: CREATE TABLE để cài đặt cấu
trúc bảng vào ngôn ngữ SQL


<b>Mô tả: </b>


Thực hiện lệnh CREATE TABLE với các ràng buộc về khóa chính,
khóa ngoại để tạo các bảng tương ứng với các thực thể đã cho ở Bài
1.


<b>Gợi ý: </b>


SV tự chọn kiểu dữ liệu phù hợp cho từng thuộc tính
<b>Ví dụ tạo bảng SINHVIEN</b>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

CREATE TABLE SINHVIEN



( HOTEN VARCHAR(30) NOT NULL,
MASV INT <i><b>PRIMARY KEY</b></i>,


NAM INT NOT NULL,


KHOA VARCHAR(10) NOT NULL
)


<i><b>Bài 3:</b></i>



<b>Mục đích: </b>


Thực hiện lệnh <i><b>Alter Table... add constraint</b></i> để kiểm tra các ràng
buộc về khóa chính, khóa ngoại (nếu chưa cài đặt ở Bài 2) và các
ràng buộc về dữ liệu được mô tả bên dưới.


<b>Mô tả: </b>


1. Tạo ràng buộc cho thuộc tính năm(Nam) của bảng SINHVIEN:
nam>=1 va nam<=6


2. Tạo ràng buộc về điểm(diem) cho bảng KETQUA: Diem>=0 va
Diem<=10


<b>Gợi ý: </b>


<b>Ví dụ 1: ràng buộc khóa ngoại cho bảng DIEUKIEN</b>
Alter table DIEUKIEN



add constraint fk_dkien foreign key(MAMH)
references MONHOC(MAMH)


<b>Ví dụ 2: ràng buộc về Diem cho bảng KETQUA</b>
Alter table KETQUA


add constraint ck_kqua check(DIEM>=0 and DIEM<=10)


<i>CREATE DATABASE QLSV</i>
<i>USE QLSV</i>


<i>--Table SinhVien</i>


<i>CREATE TABLE SINHVIEN</i>
<i>(</i>


<i>HOTEN VARCHAR(50),</i>
<i>MASV CHAR(7) NOT NULL,</i>
<i>NAM INT,</i>


<i>KHOA CHAR(10)</i>
<i>)</i>


<i>ALTER TABLE SINHVIEN</i>


<i>ADD CONSTRAINT KC_SINHVIEN PRIMARY KEY (MASV)</i>
<i>ALTER TABLE SINHVIEN</i>


<i>ADD CONSTRAINT NAM_RB</i>
<i>CHECK (NAM >=1 AND NAM<=5)</i>


<i>--Table MonHoc</i>


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<i>TENMH VARCHAR(30),</i>
<i>MAMH CHAR(8) NOT NULL,</i>
<i>TINCHI INT,</i>


<i>KHOA CHAR(10)</i>
<i>)</i>


<i>ALTER TABLE MONHOC</i>


<i>ADD CONSTRAINT KC_MONHOC PRIMARY KEY(MAMH)</i>
<i>--Table DieuKien</i>


<i>CREATE TABLE DIEUKIEN</i>
<i>(</i>


<i>MAMH CHAR(8) NOT NULL,</i>


<i>MAMH_TRUOC CHAR(8) NOT NULL</i>
<i>)</i>


<i>ALTER TABLE DIEUKIEN</i>


<i>ADD CONSTRAINT KC_DIEUKIEN PRIMARY KEY(MAMH,MAMH_TRUOC)</i>
<i>ALTER TABLE DIEUKIEN</i>


<i>ADD CONSTRAINT KN_DIEUKIEN FOREIGN KEY(MAMH)</i>
<i>REFERENCES MONHOC(MAMH)</i>



<i>--Table KhoaHoc</i>


<i>CREATE TABLE KHOAHOC</i>
<i>(</i>


<i>MAKH INT NOT NULL,</i>
<i>MAMH CHAR(8) NOT NULL,</i>
<i>HOCKY INT,</i>


<i>GIAOVIEN CHAR(10)</i>
<i>)</i>


<i>ALTER TABLE KHOAHOC</i>


<i>ADD CONSTRAINT KC_KHOAHOC PRIMARY KEY(MAKH)</i>
<i>ALTER TABLE KHOAHOC</i>


<i>ADD CONSTRAINT KN_KHOAHOC FOREIGN KEY(MAMH)</i>
<i>REFERENCES MONHOC(MAMH)</i>


<i>--Bang KetQua</i>


<i>CREATE TABLE KETQUA</i>
<i>(</i>


<i>MASV CHAR(7) NOT NULL,</i>
<i>MAKH INT NOT NULL,</i>
<i>DIEM INT</i>


<i>)</i>



<i>ALTER TABLE KETQUA</i>


<i>ADD CONSTRAINT KC_KETQUA PRIMARY KEY(MASV, MAKH)</i>
<i>ALTER TABLE KETQUA</i>


<i>ADD CONSTRAINT KN_KETQUA FOREIGN KEY(MASV)</i>
<i>REFERENCES SINHVIEN(MASV)</i>


<i>ALTER TABLE KETQUA</i>


<i>ADD CONSTRAINT KN2_KETQUA FOREIGN KEY(MAKH)</i>
<i>REFERENCES KHOAHOC(MAKH)</i>


<i>--Nhap</i>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5></div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>Module 2 </b>



Nội dung kiến thức thực hành:


+Ngôn ngữ thao tác dữ liệu: INSERT, UPDATE, DELETE, SELECT..

<i><b>Bài 1: </b></i>



<b>Mục đích: </b>


Thực hiện lệnh INSERT để đưa dữ liệu vào các bảng.
<b>Mô tả: </b>


<i>SINHVIEN</i>



HOTEN MASV NA


M


KHOA


Lê An 691007


8


1 CNTT


Hồ Thúy
Hoa


690002
3


2 CNTT


<i>MONHOC</i>


TENMH MAMH TINCH


I


KHOA
Nhập mơn tin


học



COSC131
0


4 CNTT


Tốn rời rạc MATH241
0


3 TOAN


Cấu trúc dữ
liệu


COSC332
0


4 CNTT


Cơ sở dữ liệu COSC338
0
3 CNTT
<i>DIEUKIEN</i>
MaMH MaMH_truo
c
COSC338
0
COSC3320
COSC338
0


MATH2410
COSC332
0
COSC1310
<i>KHOAHOC</i>
MAK
H


MAMH HOCKY GIAOVIEN


85 MATH241
0


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

0
102 COSC332
0
2 Hoa
112 MATH241
0
1 Lan
119 COSC131
0
1 Chi
135 COSC338
0
1 Nhi
<i>KETQUA</i>
MASV MAK
H
DIE


M
691007
8
119 8
691007
8
112 6
690002
3
85 10
690002
3
92 9
690002
3
102 8
690002
3
135 10
<b>Gợi ý: </b>


<b>Ví dụ: Thêm 1 record vào table SINHVIEN</b>
insert SINHVIEN


values('Lê An',’6910078’,2,'CNTT')

<i><b>Bài 2: </b></i>



<b>Mục đích: </b>


Thực hiện lệnh UPDATE, DELETE, SELECT


<b>Mơ tả: </b>


1. Sửa bộ <690023,102,8> thành <690023,102,10>
2. Sửa bộ <690023,85,10> thành <690023,85,8>
3. Xóa bộ <690023,85135,10>


4. Lệnh SELECT:


- Thực hiện câu lệnh SELECT đơn giản để xem dữ liệu từ các
bảng đã nhập liệu


- Viết câu lệnh cho phép xem tên của sinh viên
- In ra tên các môn học và số tín chỉ


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

1. UPDATE KETQUA
SET DIEM=10


WHERE MASV=690023 AND MAKH=102 AND DIEM=8
2. Xem dữ liệu của bảng SINHVIEN:


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>Module 3</b>



Nội dung kiến thức thực hành:


+Ngôn ngữ định nghĩa và thao tác dữ liệu: SELECT..

<i><b>Bài 1: </b></i>



<b>Mục đích: </b>


<b>Mơ tả:</b> Cơ sở dữ liệu dưới đây được sử dụng để quản lý công tác giao hàng trong một công


ty kinh doanh. Các bảng trong cơ sở dữ liệu này được biểu diễn trong sơ đồ dưới đây.


Trong đó:


 Bảng NHACUNGCAP lưu trữ dữ liệu về các đối tác cung cấp hàng cho công ty
 Bảng MATHANG lưu trữ các dữ liệu về các mặt hàng hiện có trong cơng ty
 Bảng LOAIHANG phân loại các mặt hàng hiện có


 Bảng NHANVIEN lưu trữ thơng tin về các nhân viên làm việc trong công ty
 Bảng KHACHANG lưu trữ thông tin các khách hàng của công ty


 Khách hàng đặt hàng thông qua các đơn đặt hàng(DONDATHANG) .Mỗi đơn đặt
hàng phải do một nhân viên nào đó lập và do đó phải có quan hệ với bảng


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

 Thông tin chi tiết của các đơn đặt hàng được lưu trữ trong bảng chi tiết đơn đặt hàng.
Bảng này có quan hệ với hai bảng DONDATHANG và MAHANG.


<b>1.</b> Sinh viên hãy xây dựng cơ sở dữ liệu trên bằng lệnh định nghĩa dữ liệu
(CREATE TABLE) với các ràng buộc khóa chính, khóa ngoại. Lưu ý:
<b>sinh viên xem dữ liệu mẫu bên dưới để chọn kiểu dữ liệu cho </b>
<b>phù hợp.</b>


<b>2.</b> Sinh viên nhập liệu cho các bảng theo dữ liệu sau.
Lưu ý: những cột để trống sinh viên tự cho dữ liệu.


<b>Table KHÁCH HÀNG</b>


<b>MÃ KH</b> <b>TÊN KH</b> <b><sub>GIAODỊCH</sub>TÊN</b> <b>ĐỊA CHỈ</b> <b>EMAIL</b> <b>ĐIỆN THOAI</b> <b>FAX</b>


CINOTEC ĐIỆN TỐN SÀI GỊN 43 Yết kiêu P 6 Q3 ( )7931752


COMECO VẬT TƯ THIẾT BỊ GTVT 226 Thuận Kiều Q11 ( )8456781
FAHASA PHÁT HÀNH SÁCH SÀI GỊN 12 Thuận kiều Q5 ( )8452792
FISC DỊCH VỤ ĐẦU TƯ NƯỚC NGOAØI 31 Trương Định P6 Q1


HUNSAN HỪNG SÁNG 175 Lý Thường Kiệt ( )5465487


LIXCO BỘT GIẶT LIX 79 Bàn Cờ P3 Q5 ( )8952187


SAFICO THUYÛ SẢN XUẤT KHẨU 47 Bải sậy P1 Q11


SJC VÀNG BẠC ĐÁ QUÝ TPHCM 350 CMT8 P12 Q3 ( )8543543
TAFACO THƯƠNG MẠI TẤN PHÁT 4 Trần PhũP Q5 ( )8754875
THADACO XÂY DỰNG THÀNH ĐẠT 6E An Bình Q5 ( )5465454
TRACODI ĐẦU TƯ PHÁT TRIỂN GTVT 343 Nhật Tảo Q10 ( )5321321
TRANACO DỊCH VỤ VẬN TẢI Q 3 156 Lê Đại HànhP7 Q10 ( )8654635
VIETTIEN CTY DỆT MAY VIỆT TIẾN 24 KhuA – CN Tân Tạo ( )4565670


<b>Table NHÂNVIÊN</b>
<b>MÃ</b>


<b>NV</b> <b>HỌ NV</b> <b>TÊN NV</b>


<b>NGÀY</b>
<b>SINH</b>


<b>NGÀY</b>


<b>LÀM VIỆC</b> <b>ĐỊA CHỈ</b>


<b>ĐIỆN</b>



<b>THOẠI</b> <b>LCB</b>


<b>PHỤ</b>
<b>CẤP</b>
1 NGUYỄN LỆ NGA 10/12/64 10/12/94 13Hùng Vương P4 Q5 ( )5465465


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<b>Table NHÂNVIÊN</b>
<b>MÃ</b>


<b>NV</b> <b>HỌ NV</b> <b>TÊN NV</b>


<b>NGÀY</b>
<b>SINH</b>


<b>NGÀY</b>


<b>LÀM VIỆC</b> <b>ĐỊA CHỈ</b>


<b>ĐIỆN</b>


<b>THOẠI</b> <b>LCB</b>


<b>PHỤ</b>
<b>CẤP</b>
7 LÂM SƠN HOÀNG 02/03/78 10/10/01 45 Ký Con Q1 ( )8231231


8 NGUYỄN MINH HỒNG 30/10/68 30/10/98 22 Lạc Long Quân Q10 ( )7845138
9 VƯƠNG NGỌC LAN 10/12/67 10/12/97 227 Hai Bà Trưng Q1 ( )7784184
10 NGUYỄ THỊ MAI 10/11/67 10/11/97 12Nguỹên Chí Thanh Q3 ( )3451365


11 LÊ VĂN HÙNG 06/03/57 06/03/90 56Nguyễn TrãiQ1 ( )5745785
12 NGUYỄN THỊ HOA 10/10/66 10/10/96 12Nguyễn Trãi Q1 ( )6465465


<b>Table DONDATHANG</b>
<b>MÃ</b>


<b>HĐ</b> <b>MÃ KH</b> <b>MÃ NV NGÀY ĐH NGÀY GN HÀNG</b>


<b>NGÀY</b>
<b>CHUYỂN</b>


<b>HÀNG</b>


<b>NƠI GIAO</b>
<b>HÀNG</b>


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

<b>Table DONDATHANG</b>
<b>MÃ</b>


<b>HĐ</b>


<b>MÃ KH</b> <b>MÃ NV NGÀY ĐH</b>


<b>NGÀY GN HÀNG</b>


<b>NGÀY</b>
<b>CHUYỂN</b>


<b>HÀNG</b>



<b>NƠI GIAO</b>
<b>HAØNG</b>


10221 TRACODI 11 02/08/04 30/09/04
10223 SJC 8 01/02/04 30/01/04
10224 SAFICO 7 02/05/04 28/05/04
10225 COMECO 2 10/05/04 20/05/04
10226 FAHASA 3 11/09/04 30/09/04
10227 SAFICO 8 10/01/04 12/02/04
10228 HUNSAN 2 05/02/04 12/03/04
10230 HUNSAN 2 19/08/04 22/09/04
10238 LIXCO 7 02/08/04 30/08/04
10252 TRACODI 3 15/02/04 11/03/04


<b>Table NHACUNGCAP</b>


MACTY TENCTY TEN


GIAODICH DIACHI THOAIDIEN FAX EMAIL
VIETTIEN Coâng ty may


Việt Tiến VIETEC Khu A- CN Tân Tạo 4574789
DOM Cơng ty Thực


phẩm


DOMEC 23- Nguyễn
Trọng Tuyển


3456678


HEC Công ty TNHH HECCO 12 Nguyễn Thái 4554678


<b>Table LOAIHANG</b>


<b>MÃ</b>


<b>LOẠI HÀNG</b>


<b>TÊN</b>


<b>LOẠI HAØNG</b>
BK Bánh Kẹo
TP Thực phẩm
TC Trái cây
AQ Aùo quần


<b>Table MATHANG</b>


<b>MAHANG TENHANG</b> <b><sub>CTY</sub>MÃ</b> <b><sub>LHANG</sub>MÃ</b> <b>SL TỒN ĐVỊ TÍNH ĐƠN GIÁ</b>


1 RƯỢU DOM BK 4 CHAI 230.50


2 GIA VÒ HEC TP 2 THÙNG 40.00


3 BÁNH KEM HEC BK 15 CÁI 2.00


4 BƠ HEC BK 5 KG 15.00


5 BÁNH MÌ HEC BK 20 CAÙI 1.00



6 NEM DOM TP 20 KG 10.00


7 TAÙO DOM TC 28 KG 5.00


8 CÁ HỘP HEC TP 5 THÙNG 62.50


9 KẸO DOM BK 10 THÙNG 12.00


10 GẠO DOM TP 50 KG 2.00


11 NEÁP DOM TP 60 KG 3.00


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

Lan Hà Sơn


<b>Table CHITIETDATHANG</b>
<b>MÃ HĐ MÃ HÀNG ĐƠN GIÁ SỐ LƯỢNG</b>


<b>MỨC</b>
<b>GIẢM</b>
<b>GIÁ</b>


10148 3 2.20 20.00


10148 4 16.50 30.00
10148 9 13.20 20.00
10150 2 44.00 22.00
10150 4 16.50 10.00
10156 8 68.75 20.00


10157 3 2.20 4.00



10157 4 16.50 50.00
10159 1 253.55 30.00


10159 7 5.50 2.00


10162 1 253.55 5.00
10162 2 44.00 10.00


10162 7 5.50 12.00


10172 5 1.10 25.00


10175 8 68.75 20.00
10183 4 16.50 12.00


10183 5 1.10 20.00


10183 6 11.00 12.00
10196 4 16.50 12.00
10196 9 13.20 50.00


10207 5 1.10 15.00


10208 7 5.50 20.00


10224 9 13.20 22.00
10225 1 253.55 10.00
10225 4 16.50 7.00
10225 10 1.10 55.00


10226 4 16.50 21.00
10226 6 11.00 110.00
10227 12 44.00 15.00
10228 4 16.50 45.00


10228 5 1.10 15.00


10228 7 5.50 28.00


10230 12 11.00 30.00
10238 1 253.55 4.00
10238 2 44.00 10.00
10238 11 2.20 12.00
10238 9 13.20 20.00
10252 2 44.00 100.00
10252 12 2.20 40.00


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

<b>Module 4</b>



Nội dung kiến thức thực hành:


+Ngôn ngữ định nghĩa và thao tác dữ liệu: SELECT với các hàm tính
tốn, gộp nhóm, SELECT lồng nhau.


<b>Sinh viên dùng lệnh SELECT thực hiện các truy vấn sau:</b>


1. Mã hàng, tên hàng và số lượng của các mặt hàng hiện có trong cơng ty
<b>SELECT</b> MAHANG,TENHANG,SOLUONG


<b>FROM</b> MATHANG



2. Họ tên và địa chỉ và năm bắt đầu làm việc của các nhân viên
<b>SELECT</b> HO,TEN,DIACHI,NGAYLAMVIEC


<b>FROM </b>NHANVIEN


3. Địa chỉ và điện thoại của nhà cung cấp có tên giao dịch VIETEC là gi?
<b>SELECT </b> DIACHI, DIENTHOAI


<b>FROM</b> NHACUNGCAP


<b>WHERE</b> TENGIAODICH='VIETEC'


4. Cho biết mã và tên của các mặt hàng có giá lớn hơn 50000 và số lượng hiện
ít hơn 50.


<b>SELECT</b> MAHANG,TENHANG
<b>FROM</b> MATHANG


<b>WHERE</b> DONGIA>50 AND SOLUONG<50
5. Cho biết mỗi mặt hàng trong công ty do ai cung cấp.


<b>SELECT</b> TENHANG,NHACUNGCAP.TENCONGTY
<b>FROM </b>MATHANG,NHACUNGCAP


<b>WHERE</b> MATHANG.MACONGTY=NHACUNGCAP.MACONGTY
6. Loại hàng thực phẩm do những công ty nào cung cấp


<b>SELECT </b>



LOAIHANG.TENLOAIHANG,TENHANG,
NHACUNGCAP.TENCONGTY


<b>FROM</b> LOAIHANG,MATHANG,NHACUNGCAP


<b>WHERE</b> LOAIHANG.MALOAIHANG=MATHANG.MALOAIHANG


AND MATHANG.MACONGTY=NHACUNGCAP.MACONGTY
AND LOAIHANG.MALOAIHANG='TP'


7. Những khách hàng nào (tên giao dịch) đã đặt mua mặt hàng Sữa hộp của công ty?
<b>SELECT </b>KHACHHANG.TENCONGTY,MATHANG.TENHANG


<b>FROM </b>


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

<b>WHERE </b>CHITIETDATHANG.MAHANG=MATHANG.MAHANG
AND


DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON
AND


KHACHHANG.MAKHACHHANG=DONDATHANG.MAKHACHHANG
AND TENHANG='CA HOP'


8. Đơn đặt hàng số 1 do ai đặt và do nhân viên nào lập, thời gian và địa điểm giao hàng
là ở đâu?


<b>SELECT </b>


KHACHHANG.TENCONGTY,NHANVIEN.TEN,DONDATHANG.NOI


GIAOHANG,DONDATHANG.NGAYGIAOHANG


<b>FROM </b>NHANVIEN,DONDATHANG,KHACHHANG


<b>WHERE</b> NHANVIEN.MANHANVIEN=DONDATHANG.MANHANVIEN
AND


DONDATHANG.MAKHACHHANG=KHACHHANG.MAKHACHHANG
AND DONDATHANG.MANHANVIEN=1


9. Hãy cho biết số tiền lương mà công ty phải trả cho mỗi nhân viên là bao nhiêu (lương
= lương cơ bản + phụ cấp)


<b>SELECT </b>MANHANVIEN,HO,TEN,LUONGCANBAN+PHUCAP AS LUONG
<b>FROM </b>NHANVIEN


<b>Sinh viên dùng lệnh DELETE để thực hiện các yêu cầu sau:</b>
10. Xóa những nhân viên đã làm việc trong công ty quá 30 năm


<b>DELETE FROM</b> NHANVIEN


<b>WHERE</b> ( 2010-Year(ngaylamviec))>30
CÁCH KHÁC:


<b>DELETE FROM </b>NHANVIEN


<b>WHERE</b> (YEAR (GETDATE())-YEAR(NGAYLAMVIEC))>30
11. Xóa khỏi bảng khách hàng hiện khơng có đơn đặt hàng nào


<b>DELETE FROM</b> khachhang



<b>WHERE </b>makh in (select makh,count(sohd)
<b>FROM</b> khachhang inner join dondathang


on khachhang.makh=dondathang.makh
group by makh


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<b>Module 5</b>



+ Nội dung kiến thức thực hành:


+Quản lý tài khoản cho người sử dụng


sp_helpsrvrolemember: liệt kê danh sách tài khoản đã gán nhóm quyền
sp_helpsrvrole : liệt kê danh sách nhóm quyền SQL Server 2008
sp_srvrolepermission


1. Tạo tài khoản từ hệ điều hành Windows(Windows Authentication)


Nếu chọn đặt Windows authentication thì tài khoản khai báo phải tồn tại trong hệ
điều hành


Trong hệ điều hành Windows, tạo tài khoản tên QUANGHIEP


Để tạo mới tài khoản trong hệ điều hành Windows chọn vào Start \ Setting \ Control
Panel \ Performance and Maintenance\ Administrative Tools\ Computer
Management\ System Tools\ Local Users and Groups và right click User\ New User


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17></div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

Cửa sổ kế tiếp xuất hiện



Nhấn vào nút Advanced, tiếp tục nhấn nút Find Now, danh sách tài khoản của hệ điều
hành liệt kê như hình:


Chọn vào tài khoản QUANGHIEP rồi nhấn nút OK.


Nhấn nút OK, tài khoản trong cửa sổ tên sẽ khai báo trong phần login name.
2. Tạo tài khoản trong SQL Server (SQL Server Authentication)


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

(Bỏ chọn User must change password at next login, nếu không sẽ gây ra lỗi)
3. Sinh viên tự tạo 10 tài khoản


4. Server Roles


Gán quyền cho tài khoản vừa tạo


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

Gán quyền cho tài khoản <b>thuysoftware</b>
5. Trạng thái của tài khoản


</div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

6. Sinh viên cấp quyền cho 10 tài khoản vừa tạo.
7. Tài khoản của người sử dụng trên cơ sở dữ liệu
Tạo thư mục SQLData trong đĩa F:\


Tạo cơ sở dữ liệu :


CREATE DATABASE SmallWorks ON PRIMARY


(NAME = 'SmallWorksPrimary',


FILENAME = 'F:\SQLData\SmallWorks.mdf',



SIZE = 10MB,


FILEGROWTH = 20%,


MAXSIZE = 50MB),


FILEGROUP SWUserData1


(NAME = 'SmallWorksData1' ,


FILENAME = 'F:\SQLData\SmallWorksData1.ndf',


SIZE = 10MB,


FILEGROWTH = 20%,


MAXSIZE = 50MB),


FILEGROUP SWUserData2


(NAME = 'SmallWorksData2',


FILENAME = 'F:\SQLData\SmallWorksData2.ndf',


SIZE = 10MB ,


FILEGROWTH = 20% ,


MAXSIZE = 50MB)
LOG ON



</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

FILENAME = 'C:\SQLData\SmallWorks_log.ldf' ,


SIZE = 10MB ,


FILEGROWTH = 10% ,


MAXSIZE = 20MB)


GO


USE SmallWorks
GO


CREATE TABLE dbo.Person(


PersonID int NOT NULL,


FirstName varchar(50)NOT NULL,


MiddleName varchar(50)NULL,


LastName varchar(50)NOT NULL,


EmailAddress nvarchar(50)NULL )


CREATE TABLE dbo.Product(


ProductID int NOT NULL



ProductName varchar(75) NOT NULL


ProductNumber nvarchar(25)NOT NULL


StandardCost money NOT NULL


ListPrice money NOT NULL )
7.1 Cách 1


</div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23></div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24>

7.2 Cách 2


Khai báo tài khoản truy cập vào cơ sở dữ liệu SmallWorks.


Chọn cơ sở dữ liệu SmallWorks \ Security \ right click Users \ New User
Xuất hiện hộp thoại Database User , gõ tên của user name.


</div>
<span class='text_page_counter'>(25)</span><div class='page_container' data-page=25>

nhấn chọn OK


</div>
<span class='text_page_counter'>(26)</span><div class='page_container' data-page=26>

<b>Module 6</b>



+ Nội dung kiến thức thực hành:
+ Tạo CSDL Quản Lý Bán Sữa.


+ Quản lý tài khoản cho người sử dụng


+ Cấp quyền truy cập CSDL Quản Lý Bán Sữa


CSDL Quản Lý Bán Sữa:


HangSua(MaHangSua,TenHangSua,DiaChi,DienThoai,Email)


LoaiSua(MaLoaiSua,TenLoai)


Sua(MaSua,TenSua,MaHangSua,MaLoaiSua,TrongLuong,DonGia,TP_ddinhduong,Loiich)
KhachHang(MaKH,TenKH,Phai,DiaChi,DienThoai,Email)


HoaDon(SoHoaDon,NgayHD,MaKH,Trigia)
CT_HoaDon(SoHD,MaSua,SoLuong,Dongia)


1. Sinh viên hãy xây dựng cơ sở dữ liệu trên bằng lệnh định nghĩa dữ liệu
(CREATE TABLE) với các ràng buộc khóa chính, khóa ngoại.


2. Sinh viên nhập liệu cho các bảng


3. Sinh viên dùng lệnh SELECT thực hiện các truy vấn sau:


<b>a.</b> Liệt kê danh sách các <b>sữa của hãng Abbott</b> có tên sữa, trọng lượng,
lợi ích trong đó <b>trọng lượng sắp tăng dần</b>


<b>SELECT</b> TENSUA,TRONGLUONG,LOIICH


<b>FROM</b> SUA, HANGSUA


<b>WHERE</b> SUA.MAHANGSUA=HANGSUA.MAHANGSUA
AND TENHANGSUA=’Abbott’


<b>ORDER BY</b> TRONGLUONG


<b>b.</b> Cho biết 3 sản phẩm sữa của hãng Vinamilk có trọng lượng nặng nhất, gồm
các thông tin: tên sữa, trọng lượng



SELECT TENSUA, TRONGLUONG
FROM SUA,HANGSUA


WHERE SUA.MAHANGSUA=HANGSUA.MAHANGSUA
AND TENHANGSUA=’vinamilk’


</div>
<span class='text_page_counter'>(27)</span><div class='page_container' data-page=27>

<b>c.</b> Cho biết giá trị TB của các hóa đơn được làm trịn đến hàng nghìn.
SELECT ROUND(AVG(SOLUONG*DONGIA),-3) AS GIATRITB
FROM CT_HOADON


<b>d.</b> Liệt kê danh sách các hóa đơn trong tháng 9 năm 2009
SELECT *


FROM HOADON


WHERE MONTH(NGAYHD)=9 AND
YEAR(NGAYHD)=2009


<b>e.</b> Liệt kê danh sách các hãng sữa có tên hãng sữa, địa chỉ, điện thoại, trong đó
tên hãng sữa in Hoa


SELECT UPPER(TENHANGSUA),DIACHI,DIENTHOAI
FROM HANGSUA


<b>f.</b> Liệt kê danh sách sữa đã bán được trong tháng 9 năm 2007 có tên sữa, trọng
lượng, đơn giá, trong đó: trọng lượng có them ‘gr’, dơn giá có định dạng tiền
tệ và có them ‘VNĐ’.


SELECT TENSUA,concat(TRONGLUONG,’gr’),
Concat(format(c.DONGIA,0),’VND’)


FROM CT_HOADON c, HOADON h, SUA s


WHERE c.SOHD=h.SOHOADON AND s.MASUA=C.MASUA
AND MONTH(NGAYHD)=9 and year(NGAYHD)=2007


<b>g.</b> Thống kê tổng số sản phẩm theo hãng sữa, gồm các thong tin: tên hãng sữa,
tổng số sản phẩm. Sắp xếp tăng dựa theo tổng số sản phẩm.


SELECT TENHANGSUA, COUNT(*) AS TONGSO SP
FROM SUA, HANGSUA


WHERE SUA.MAHANGSUA=HANGSUA.MAHANGSUA
GROUP BY TENHANGSUA


</div>
<span class='text_page_counter'>(28)</span><div class='page_container' data-page=28>

<b>h.</b> Thống kê số sản phẩm bán được trong tháng 9 năm 2009 của mỗi sữa.
SELECT MASUA, SUM(SOLUONG) AS SOSP


FROM CT_HOADON c, HOADON h


WHERE c.SoHD=h.SoHD AND month(NgayHD)=9 and
Year(NgayHD)=2009


GROUP BY MaSua


<b>i.</b> Hãy tìm những hóa đơn mua hàng có tổng trị giá lớn hơn 2.000.000 VNĐ
SELECT SOHD, SUM(SOLUONG*DONGIA) AS TONGTRIGIA
FROM CT_HOADON


GROUP BY SOHD



HAVING SUM(SOLUONG*DONGIA) > 2000000
<b>j.</b> Liệt kê các khách hàng chưa mua hàng.


SELECT *


FROM KHACHHANG


WHERE MAKH NOT IN ( SELECT MAKHACHHANG
FROM HOADON)


4. Sinh viên tạo 10 tài khoản từ hệ điều hành Windows(Windows Authentication) và cấp
quyền cho 10 tài khoản vừa tạo.


</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×