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

quản lý rạp chiếu phim bằng oracle

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 (1.83 MB, 39 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TPHCM

ĐỒ ÁN MÔN HỌC
QUẢN LÝ RẠP CHIẾU PHIM BẰNG ORACLE

Ngành:

CÔNG NGHỆ THÔNG TIN

Chuyên ngành:

HỆ THỐNG THÔNG TIN

Giảng viên hướng dẫn:

Ths. Võ Hoàng Khang

Sinh viên thực hiện:
Phan Hồ Hải

1051020077

10DTHH

Đào Đạt Đức

1051020061

10DTHH


TP. Hồ Chí Minh, 2014
A


Mục Lục
Mục Lục.................................................................................................................................. 2
I.TỔNG QUAN........................................................................................................................ 4
I.1.Giới thiệu đề tài.............................................................................................................. 4
I.2.Mô tả chi tiết nghiệp vụ hệ thống hóa............................................................................4
I.3.Đối tượng cần tin học hóa..............................................................................................7
II.CƠ SỞ LÝ THUYẾT............................................................................................................8
2.1.Danh sách các loại thực thể..........................................................................................8
2.1.1.Các loại thực thể cơ bản........................................................................................8
2.1.2.Loại thực thể đối tượng ngoài................................................................................8
2.1.3.Loại thực thể nghiệp vụ..........................................................................................8
2.2.Mô hình thực thể ER.....................................................................................................8
2.3.Miền giá trị của các thuôôc tính.......................................................................................9
2.4.Ràng buộc toàn vẹn......................................................................................................9
2.4.1.RBTV bối cảnh trên 1 quan hệ:..............................................................................9
2.4.2.RBTV bối cảnh nhiều quan hệ..............................................................................13
2.5.Mô hình ERD.............................................................................................................. 14
2.6.Mô hình DFD............................................................................................................... 15
2.7.Ánh xạ mô hình quan hệ.............................................................................................17
III.KẾT QUẢ THỰC NGHIỆM............................................................................................18
3.1.Mô Hình Cơ Sở Dữ Liêôu:............................................................................................18
3.1.1.Database tự tăng mã:...........................................................................................18
3.1.2.Các View.............................................................................................................. 23
3.1.3.Các Triger............................................................................................................. 24
3.1.4.Các Procedure:.....................................................................................................27
3.1.5.Funtion................................................................................................................. 32

3.2.Giao Diêôn.................................................................................................................... 36
3.2.1.Trang Chủ............................................................................................................. 36
3.2.2.Menu Lịch Chiếu...................................................................................................36
3.2.3.Menu Phim:.......................................................................................................... 37
3.2.4.Trang Chọn Ghế...................................................................................................37
3.2.5.Box Mua Ve.......................................................................................................... 37
3.2.6.Bảng Giá Ve:........................................................................................................38
IV.KẾT LUẬN VÀ KIẾN NGHỊ...............................................................................................39
2


IV.1.Kết luận...................................................................................................................... 39
IV.1.1.Ưu điểm.............................................................................................................. 39
IV.1.2.Khuyết điểm........................................................................................................ 39
IV.2.Kiến nghị.................................................................................................................... 39

Bảng Phân Công
Nghiên Cứu Viết Đặc tả, nghiệp vụ hóa
Đào Đạt Đức, Phan Hồ Hải
Mô Hình Quan Hệ ER
Đào Đạt Đức
Mô Hình ERD, DFD
Phan Hồ Hải
Các ràng buộc toàn vẹn
Phan Hồ Hải
Tạo Database
Đào Đạt Đức
Viết lệnh Triger, Proceduce, Funtion
Đào Đạt Đức
Thiết kế giao diện

Phan Hồ Hải

3


I.
I.1.

TỔNG QUAN
Giới thiệu đề tài
Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ
của CNTT. CNTT đã ở một bước phát triển cao đó là số hóa tất cả các dữ liệu
thông tin, luân chuyển mạnh mẽ và kết nối tất cả chúng ta lại với nhau. Mọi
loại thông tin, số liệu âm thanh, hình ảnh có thể được đưa về dạng kỹ thuật số
để bất kỳ máy tính nào cũng có thể lưu trữ, xử lý và chuyển tiếp cho nhiều
người. Những công cụ và sự kết nối của thời đại kỹ thuật số cho phép chúng ta
dễ dàng thu thập, chia sẻ thông tin và hành động trên cơ sở những thông tin
này theo phương thức hoàn toàn mới, kéo theo hàng loạt sự thay đổi về các
quan niệm, các tập tục, các thói quen truyền thống, và thậm chí cả cách nhìn
các giá trị trong cuộc sống. CNTT đến với từng người dân, từng người quản
lý, nhà khoa học, người nông dân, bà nội trợ, học sinh tiểu học….Không có
lĩnh vực nào, không có nơi nào không có mặt của CNTT. Công nghệ thông tin
là một trong các động lực quan trọng nhất của sự phát triển…ứng dụng và phát
triển công nghệ thông tin ở nước ta nhằm góp phần giải phóng sức mạnh vật
chất, trí tuệ và tinh thần của toàn dân tộc, thúc đẩy công cuộc đổi mới, phát
triển nhanh và hiện đại hoá các ngành kinh tế, tăng cường năng lực cạnh tranh
của các doanh nghiệp, hỗ trợ có hiệu quả cho quá trình hội nhập kinh tế quốc
tế, nâng cao chất lượng cuộc sống của mọi người
Nhận thấy được những ích lợi của công nghệ thông tin, các doanh
nghiệp kinh doanh, các công ty giải trí cũng đã và đang áp dụng công nghệ

thông tin vào việc quản lý thông tin. Việc mang ứng dụng tin học vào việc
quản lý một Công ty giải trí hay cụ thể hơn là 1 Rạp chiếu Phim không phải là
mới. Tuy nhiên vẫn còn nhiều vấn đề cần gải quyết, để thực hiện điều này, đòi
hỏi cần có một chương trình quản lý Rạp cho phù hợp hơn để đảm bảo việc
quản lý các dữ liệu. Chương trình sẽ giúp người quản lý tránh việc dữ liệu bị
mất, sắp xếp lưu trữ thông tin một cách logic, xử lý nhanh chóng các thông tin,
tra cứu tìm kiếm thông tin Phim và Quản lý thiết bị với tốc độ truy cập nhanh
và độ chính xác cao, tiết kiệm được lượng thời gian đáng kể
Xuất phát từ ý tưởng trên, nhóm chúng em xin tìm hiểu và thực hiện đề
tài “Quản lý Rạp Chiếu Phim ” với chức năng lưu trữ , tra cứu thông tin
Phim , thực hiện bán vé, quản lý tổ chức sự kiện và quản lý thiết bị trong Rạp

I.2.

Mô tả chi tiết nghiệp vụ hệ thống hóa
Để quản lý các công việc cơ bản của rạp chiếu phim một cách hiệu quả,
ta sẽ cơ sở dữ liệu hóa tổ chức và công việc của Rạp chiếu

4


• Yêu cầu:
-

Rạp nằm ở đâu? tên gì?

-

Bao gồm những bộ phận nào? Ai làm gì? Làm khi nào?


-

Mô tả quy trình để trình chiếu 1 bộ phim: hợp đồng mua phim, kế hoạch
quảng cáo, giờ chiếu, thời gian bao lâu, độ dài bộ phim, các nhân vật trong
phim (đạo diễn, diễn viên chính…), vé (suất chiếu, ngày chiếu…)

• Mô hình tổ chức của Rạp Megarstar ở TPHCM như sau:
Rạp bao gồm nhiều bộ phận. Có thể liệt kê một vài bộ phận như: bộ
phận Tiếp tân, bộ phận soát vé, bộ phận quản lý, bô phận PR Tổ chức sự kiện,
tổ bảo vê, bô phận bán vé(phòng vé), tổ vệ sinh, bô phận máy chiếu âm thanh
…..
Tùy theo bộ phận mà có những chức vụ tương ứng như : Quản lý, nhân viên,
kỹ thuật viên...
Chi tiết nhiệm vụ của từng bộ phận như sau:
Bộ phận tiếp tân: Nhân viên bộ phận tiếp tân chịu trách nhiệm giới
thiệu phim cho khách, giải đáp thắc mắc cho khách về xuất chiếu, giờ chiếu,
các chương trình khuyến mãi, giảm giá...
Bô phận quàn lý: đây là bộ phận chịu trách nhiệm quản lý cụm rạp,
các phòng chiếu , dịch vụ ……
Phòng vé: Sẽ có nhiều quầy vé để khách tiện mua vé, mỗi quầy sẽ có
một nhân viên đứng bán vé, cung cấp thông tin và hướng dẫn chọn ghế cho
khách hàng.
Nhân viên bán vé trực tiếp chịu trách nhiệm đưa vé và thu tiền vé từ khách
hàng, đồng thời trực điện thoại đặt vé từ khách hàng. Nhân viên bán vé quản
lý cả việc nhận hoặc từ chối việc mua vé, đặt vé của khách (khi chỗ ngồi
khách hàng mong muốn đã có khách hàng khác mua hay đặt trước; trường hợp
suất chiếu đã hết vé...).
Bộ phận dẫn chỗ, soát vé: Khi phòng chiếu hoạt động, sau khi khách
đã mua vé, nhân viên soát vé sẽ kiểm tra vé của khách, xé phân nửa vé đưa lại
cho khách(phần dành cho khách hàng) làm dấu. Sau đó, nhân viên dẫn chỗ

giúp khách hàng tìm được vị trí ngồi của mình.
Tổ bảo vệ: Chịu trách nhiệm bảo vệ tài sản của rạp, giải quyết sự cố về
an ninh của toàn rạp.
5


Tổ vệ sinh: Chịu trách nhiệm giữ gìn môi trường rạp chiếu sạch sẽ,
trong lành, hợp vệ sinh.
Bộ phận máy chiếu, âm thanh: Nhân viên bộ phận máy chiếu chịu
trách nhiệm nhận phim từ công ty Thiên Ngân và bộ phận kiểm duyệt, bảo
quản phim, thao tác máy chiếu trong suốt thời gian chiếu phim. Đồng thời bộ
phận này chịu mọi trách nhiệm về mặt pháp lý nếu như nguồn phim bị đưa ra
ngoài.
Bộ phận PR, tổ chức sự kiện: Bộ phận này chịu trách nhiệm tổ chức
quảng cáo, lên kế hoạch chiếu trailer, các sự kiện quản bá phim, …..
Bô phận kiểm duyệt: Nhân viên chịu trách nhiệm nhập phim (ban
quản lý, kiểm duyệt) có trách nhiệm Kiểm duyệt nội dung phim xem có phù
hợp về hình thức, thuần phong mỹ tục, pháp luật hay không. Sau đó sẽ phân
loại phim theo:
+ Dạng phim (có thể một phim có nhiều dạng như 2D, 3D, 2D digital)
+ Nội dung phim như hành động, tâm lý , viễn tưởng ….
Sau đó là gán mã phim và định dạng …..
Mổi bộ phận của Rạp đều có nhân viên phụ trách cũng như nhân viên
làm việc trong từng bộ phận đó


Mô tả quy trình trình chiếu một bộ phim:
Sau khi ký kết hợp đồng mua phim , bô phim sẽ được giao cho rạp
đúng ngày hẹn đã cam kết trong hợp đồng. sau đó bộ phim sẽ được giao cho
bộ phận kiểm để kiểm duyệt nội dung , xác định thể loại , định dạng, độ dài

phim,..
Phim sau đó được giao cho bộ phận máy chiếu, âm thanh để chiếu thử
và chuẩn bị cần thiết trước khi ra mắt
Song song đó bộ phận PR tổ chức sự kiện sẽ lên lịch tổ chức quảng cáo,
quảng bá phim, trình chiếu trailer , cung cấp thông tin phim về: Đạo Diễn,
Diễn viên , Nội dung bao quát ( lọc những thông tin gây tò mò và ấn tượng
mạnh với người xem để thu hút người đến rạp như diễn viên , đạo diễn tên
tuổi…)
Tùy theo nhu cầu và lượng khách bộ phận tổ chức có thể đề nghị tăng suất
chiếu, điều chỉnh giá vé phù hợp….

6


Mỗi nhân viên sẽ được cấp 1 ID duy nhất để phân biệt với nhau , tùy
vào khả năng và vị trí mà có thể phân bổ nhân viên làm các công việc như
bán vé, Tiếp tân, soát vé, dẫn chỗ, Nhân viên kỹ thuật, bảo vệ ……
Trong rạp sẽ có nhiều phòng chiếu phân biêt với nhau bằng bảng “Mã
phòng ” Sẽ có phòng chiếu lớn,nhỏ, VIP, thường …
Tùy vào nhu cầu sử dụng. trong phòng chiếu sẽ có nhiều góc nhìn và phân
biệt giữa ghế vip và ghế thường( thông thường số ghế vip của một phòng
thường có số lượng nhất định nên có thể đơn giản hóa bằng cách quản lý dãy
ghế VIP). Ngòai ra còn có máy chiếu, màn hình, thùng rác…..
Mỗi vé bán ra sẽ có một Số vé, trên vé sẽ có in chi tiết vé bao gồm: Số ghế,
số phòng, xuất chiếu, thời gian chiếu, combo thức ăn đồ uống (có hoặc
không).
Mỗi phim sẽ có nhiều suất chiếu, số lượng suất chiếu tùy vào phim, quản lý
bởi bảng “Lịch Chiếu”
Thông tin phim sẽ được hiển thị thông qua hệ thống màng hình ở sảnh và
poster phim sẽ được quản lý thông qua Phim các thông tin hiển thị bao

gồm:Tên diễn viên chính, tên Đạo diễnThời lượng, thời gian bắt đầu trình
chiếu, nội dung chính
I.3.

Đối tượng cần tin học hóa
Số lượng thông tin mà Rạp phải xử lý là rất lớn, và nhu cầu tin học hóa
toàn bộ Rạp là rất cần thiết, không những chỉ để lưu trữ dữ liệu một cách tập
trung, mà còn để có thể dễ dàng thao tác tra cứu thông tin, quản lý, cập nhật,
xóa, sửa

7


II.
2.1.

CƠ SỞ LÝ THUYẾT
Danh sách các loại thực thể
2.1.1. Các loại thực thể cơ bản
• Thể Loại ( MaTL, TheLoai)
• Phim ( MaPhim, SoHD, MaTL, Ghichu, Đaodien, DienVien, ThoiGian)
• Phòng ( MaPhong, Ten Phong, KichThuoc, SoLuongGhe, GhiChu)
• Ghế ( SoGhe, MaLoaiGhe, MaPhong, Hang, Khu)
• Loại Ghế ( MaLoaiGhe, Tenloai)
• Thiết Bị ( MaTB, MaloaiTB, TenTB)
• Loại Thiết Bị ( MaLoaiTB, TenLoai)
2.1.2. Loại thực thể đối tượng ngoài
• Nhà Cung Cấp ( MaNCC, TenNCC, DiaChi)
• Nhân Viên ( MaNV, Ten Nhan Vien, Ngay Sinh, Gioi tinh, Dia Chi, CMND,
SoDT)

2.1.3. Loại thực thể nghiệp vụ
• Hợp Đồng ( SoHD, MaNCC)
• CT_Phòng ( MaPhong, MaTB, SoLuong)
• Suất Chiếu ( MaSuat, Gio Bat Dau, Gio Ket Thuc)
• Lịch Chiếu ( NgayChieu, MaSuat, MaPhong, MaPhim)
• Bảng Phân Công ( NgayChieu, MaSuat, MaPhong, MaNV, MaVT)
• Vị Trí ( MaVT, Ten Vi Tri)
• Vé ( MaVe, Ngay Chieu, MaSuat, MaPhong, MaNV,So Ghe, Gia, Ngay Ban)
• Event (MaEvent, MaPhim, Ten Event

2.2.

Mô hình thực thể ER

8


2.3.

Miền giá trị của các thuộc tính
• NhanVien có GioiTinh là Nam hoặc Nữ

2.4.

Ràng buộc toàn vẹn
2.4.1. RBTV bối cảnh trên 1 quan hệ:
• RBTV miền giá trị:
R1: SoDT (Điện thoại nhân viên) là điện thoại bàn hay điện thoại di
động có độ dài 8-11 số.
Nội dung:

∀ NV ∈ NhanVien: 8<=lenght(NV.SoDT)<=11

NV.SoDT[i] ∈[0-9] với

i∈ [0-11]
Bối cảnh: NhanVien
Bảng tầm ảnh hưởng:
R1
Nhân Viên

Thêm
+

Xóa
-

Sửa
+(SoDT)
9


R2: Giới tính của Nhân viên chỉ là Nam hoặc Nữ
Nội dung:
∀ NV ∈ NV: NV.GioiTinh ∈ {‘Nam’,’Nữ’}
Bối cảnh: quan hệ NhanVien
Bảng tầm ảnh hưởng:
R2
Nhân Viên




Thêm
+

Xóa
-

Sửa
+(Giới tính)

Ràng buộc liên thuộc tính:
R3: Giờ Bắt đầu Suất Chiếu phải luôn nhỏ hơn Giờ kết thúc Suất Chiếu
Nội dung:
S

Suất Chiếu: S.giờ bắt đầu < S.giờ kết thúc

Bối cảnh: quan hệ Suất Chiếu
Bảng tầm ảnh hưởng:
R3
Suất Chiếu

Thêm
+

Xóa
-

Sửa
+(giờ bắt đầu, giờ kết

thúc)

R4: Tương tự cho ngày bán vé phải nhỏ hơn Ngày chiếu
Nội dung:
V

Vé: V.Ngay Ban

V.Ngay Chieu

Bối cảnh: Quan hệ Vé
Bảng tầm ảnh hưởng:
R4


Thêm
+

Xóa
-

Sửa
+(ngày bán, ngày chiếu)

10


R5: Ràng buộc liên thuộc tính trong Vé , Các vé có cùng Ngày chiếu, Suất
chiếu, Phòng chiếu thì có số ghế khác nhau
Nội dung

V1, V2

Vé:

Nếu [(V1.MaPhim # V2.MaPhim)
(V1.Masuat = V2.MaSuat)

(V1.MaPhong = V2.MaPhong)

(V1.Ngay Chieu = V2.Ngay Chieu)]

Thì V1.SoGhe # V2.SoGhe
Bối cảnh: Vé
Bảng tầm ảnh hưởng:
R5


Thêm
+

Xóa
-

Sửa
+(MaPhim, MaSuat,
MaPhong, Ngày
Chiếu, SoGhe)

R6: Các vé có cùng Ngày chiếu, Suất Chiếu, Phòng chiếu, Phim, Loại ghế sẽ
có giá bán bằng nhau

Nội dung:
V1, V2

Vé:

Nếu [(V1.MaPhim = V2.MaPhim)
(V1.Ngay Chieu = V2.Ngay Chieu)

(V1.MaSuat = V2.MaSuat)
(V1.MaPhong = V2.MaPhong)

(V1.SoGhe = V2.SoGhe)]
Thì V1.GiaVe = V2.GiaVe
Bối cảnh: Vé
Bảng tầm ảnh hưởng:
R6


Thêm
+

Xóa
-

Sửa
+(MaPhim, MaSuat,
MaPhong, Ngày
Chiếu, SoGhe)
11





Ràng buộc liên bộ:
R7: ràng buộc khóa chính cho tất cả các bảng Nhân Viên , Phòng, Phim, Ghế,
Thiết Bị, Vé Suất, Lịch, Vị Trí, Hợp Đồng
Nội dung:
NV1, NV2

Nhân Viên: Nếu NV1 # NV2 thì: NV1.MaNV #

NV2.MaNV
Bối cảnh: Nhân Viên
Nội dung:
H1, H2

Hợp Đồng: Nếu H1 # H2 thì: H1.SoHD # H2.SoHD

Bối cảnh: Hợp Đồng
Nội dung:
V1, V2

Vé: Nếu V1 # V2 thì: V1.MaVe # V2.MaVe

Bối cảnh: Vé
Nội Dung:
P1, P2

Phòng: Nếu P1 # P2 thì: P1.MaPhong # P2.MaPhong


Bối cảnh: Phòng
Tương tự với các bảng: Suất, Loại Ghế, Nhà Cung Cấp , Thể loại, Event .........
Bảng tầm ảnh hưởng
R7
Nhân Viên
Hợp Đồng

Suất
Phòng
Phim
Ghế
Thiết Bị

Thêm
+
+
+
+
+
+
+
+

Xóa
-

Sửa
-(*)
-(*)
-(*)

-(*)
-(*)
-(*)
-(*)
-(*)
12


Lịch Chiếu
Vị trí
Event
Thể loại

+
+
+
+

-

-(*)
-(*)
-(*)
-(*)

2.4.2. RBTV bối cảnh nhiều quan hệ
• Ràng buộc tham chiếu:
R8: Nhân viên phải thuộc vị trí
Nội dung:
NhanVien[MaNV] ⊆ Vitri[MaVT]

Bối cảnh: NhanVien, ViTri
Bảng tầm ảnh hưởng :
R8
ViTri
NhanVien

Thêm
+
-

Xóa
+

Sửa
+(MaNV)
+(MaNV)

R9: Khi In vé thì Bảng Phân Công phải có Phòng, Suất, Ngày, Nhân viên
Đứng quầy vé và Số ghế thuộc bảng Ghế
Nội dung:
V1

Vé,

Bảng Phân Công: V1.Ngay Chieu = L. Ngay Chieu

V1

Vé,


Bảng Phân Công: V1.MaPhong = L.MaPhong

V1

Vé,

Bảng Phân Công: V1.MaSuat = L.MaSuat

V1

Vé,

Bảng Phân Công: V1.MaNV = L.MaNV

V1

Vé,

Ghế: V1.SoGhe = G.SoGhe

Bối cảnh : Quan Hệ Ghế, Vé, Bảng Phân Công
Bảng tầm ảnh hưởng:
R9

Thêm

Xóa

Sửa
13




Ghế
Bảng Phân Công

2.5.

+
-

+
+

-(*)
-(*)
-(*)

Mô hình ERD

14


2.6.

Mô hình DFD

15



16


2.7.
-

-

Ánh xạ mô hình quan hệ
HopDong( SoHD, MaNCC)
MaNCC tham chiếu đến NhaCungCap(MaNCC)
TheLoai ( MaTL, TheLoai)
CT_Phongg ( MaPhong, MaTB, SoLuong)
MaTB tham chiếu đến ThietBi(MaTB)
SuatChieu ( MaSuat, Gio Bat Dau, Gio Ket Thuc)
LichChieu ( NgayChieu, MaSuat, MaPhong, MaPhim)
MaSuat tham chiếu đến SuatChieu(MaSuat)
MaPhong tham chiếu đến Phong(MaPhong)
MaPhim tham chiếu đến Phim(MaPhim)
BangPhanCong ( NgayChieu, MaSuat, MaPhong, MaNV, MaVT)
NgayChieu tham chiếu đến LichChieu(NgayChieu)
MaSuat tham chiếu đến SuatChieu(MaSuat)
MaPhong tham chiếu đến Phong(MaPhong)
MaNV tham chiếu đến NhanVien(MaNV)
MaVT tham chiếu đến ViTri(MaVT)
ViTri ( MaVT, Ten Vi Tri)
Ve ( MaVe, Ngay Chieu, MaSuat, MaPhong, MaNV,So Ghe, Gia, Ngay Ban)
NgayChieu tham chiếu đến LichChieu(NgayChieu)
MaSuat tham chiếu đến SuatChieu(MaSuat)
MaPhong tham chiếu đến Phong(MaPhong)

MaNV tham chiếu đến NhanVien(MaNV)
SoGhe tham chiếu đến Ghe(SoGhe)
NhaCungCap ( MaNCC, TenNCC, DiaChi)
NhanVien ( MaNV, Ten Nhan Vien, Ngay Sinh, Gioi tinh, Dia Chi, CMND,
SoDT)
Thể Loại ( MaTL, TheLoai)
Phim ( MaPhim, SoHD, MaTL, Ghichu, Đaodien, DienVien, ThoiGian)
SoHD tham chiếu đến HopDong(SoHD)
MaTL tham chiếu đến TheLoai(MaTL)
Phong ( MaPhong, Ten Phong, KichThuoc, SoLuongGhe, GhiChu)
Ghe ( SoGhe, MaLoaiGhe, MaPhong, Hang, Khu)
MaLoaiGhe tham chiếu đến LoaiGhe(MaLoaiGhe)
MaPhong tham chiếu đến Phong(MaPhong)
LoaiGhe ( MaLoaiGhe, Tenloai)
ThietBi ( MaTB, MaloaiTB, TenTB)
MaloaiTB tham chiếu đến LoaiThietBi(MaLoaiTB)
LoaiThietBi ( MaLoaiTB, TenLoai)
Event (MaEvent, MaPhim, Ten Event)
MaPhim tham chiếu đến Phim(MaPhim)

17


III.

KẾT QUẢ THỰC NGHIỆM
3.1.
Mô Hình Cơ Sở Dữ Liệu:
3.1.1. Database tự tăng mã:
• DDL for Trigger TRIGGER_TUTANG_LOAIGHE

-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_LOAIGHE
BEFORE INSERT ON loaighe
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_loaighe.NEXTVAL INTO
:NEW.maloaighe
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_LOAIGHE ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_GHE
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_GHE
BEFORE INSERT ON ghe
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_ghe.NEXTVAL INTO :NEW.maghe
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_GHE ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_EVENT_PR_PHIM
-------------------------------------------------------CREATE OR REPLACE TRIGGER
TRIGGER_TUTANG_EVENT_PR_PHIM
BEFORE INSERT ON EVENT_PR_PHIM
REFERENCING NEW AS NEW
FOR EACH ROW
18



BEGIN
SELECT SEQUENCE_TUTANG_EVENT_PR_PHIM.NEXTVAL INTO
:NEW.MAEVENT
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_EVENT_PR_PHIM ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_HOPDONGMUAPHIM
-------------------------------------------------------CREATE OR REPLACE TRIGGER
TRIGGER_TUTANG_HOPDONGMUAPHIM
BEFORE INSERT ON hopdongmuaphim
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_hopdongmuaphim.NEXTVAL INTO
:NEW.sohd
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_HOPDONGMUAPHIM
ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_LICHCHIEU
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_LICHCHIEU
BEFORE INSERT ON lichchieu
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_lichchieu.NEXTVAL INTO :NEW.stt
FROM DUAL;

END;
/
ALTER TRIGGER TRIGGER_TUTANG_LICHCHIEU ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_LOAITB
19


-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_LOAITB
BEFORE INSERT ON loaitb
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_loaitb.NEXTVAL INTO :NEW.maloai
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_LOAITB ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_NHACC
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_NHACC
BEFORE INSERT ON nhacc
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_nhacc.NEXTVAL INTO :NEW.Mancc
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_NHACC ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_NHANVIEN
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_NHANVIEN

BEFORE INSERT ON nhanvien
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_nhanvien.NEXTVAL INTO :NEW.manv
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_NHANVIEN ENABLE;
20


-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_PHIM
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_PHIM
BEFORE INSERT ON phim
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_phim.NEXTVAL INTO :NEW.map
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_PHIM ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_PHONG
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_PHONG
BEFORE INSERT ON phong
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_phong.NEXTVAL INTO :NEW.maphong

FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_PHONG ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_SUATCHIEU
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_SUATCHIEU
BEFORE INSERT ON suatchieu
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_suatchieu.NEXTVAL INTO :NEW.masuat
FROM DUAL;
END;
21


/
ALTER TRIGGER TRIGGER_TUTANG_SUATCHIEU ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_THELOAI
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_THELOAI
BEFORE INSERT ON theloai
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_theloai.NEXTVAL INTO :NEW.matl
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_THELOAI ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_THIETBI

-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_THIETBI
BEFORE INSERT ON thietbi
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_thietbi.NEXTVAL INTO :NEW.matb
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_THIETBI ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_VE
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_VE
BEFORE INSERT ON ve
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT SEQUENCE_TUTANG_ve.NEXTVAL INTO :NEW.mave
22


FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_VE ENABLE;
-------------------------------------------------------• DDL for Trigger TRIGGER_TUTANG_VITRI
-------------------------------------------------------CREATE OR REPLACE TRIGGER TRIGGER_TUTANG_VITRI
BEFORE INSERT ON vitri
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN

SELECT SEQUENCE_TUTANG_vitri.NEXTVAL INTO :NEW.mavt
FROM DUAL;
END;
/
ALTER TRIGGER TRIGGER_TUTANG_VITRI ENABLE;
3.1.2. Các View
• Xem Lịch Chiếu
Create View XemLich
As
Select l.NgayChieu, p.TenPhim, s.TenSuat
From Lichchieu l, Phim p, Suatchieu S
Where s.masuat= l.masuat and l.map=p.map


Xem Chi Tiết Vé:
create view chitietve
as
select l.Ngaychieu, v.Tensuat, v.Phong, v.maghe, v.giave, p.tenphim
from ve v, lich l, phim p
where v.masuat=l.masuat and v.ngaychieu=l.ngaychieu and v.maphong=
l.maphong and p.map=l.map



Xem chi tiết nhân viên
Create view chitietnhanvien
23


As

Select *from Nhanvien
3.1.3. Các Triger


Số thứ tự ghế phải nhỏ hơn hoặc bằng số lượng ghế trong phòng
CREATE OR REPLACE TRIGGER TR_soluong_ghe
before INSERT
ON ghe
FOR EACH ROW
DECLARE F NUMBER;
BEGIN
select count(*) into F
from phong p,(
select g.maphong ,count (g.maghe) as sg
from ghe g
where g.maphong=:new.maphong
group by g.maphong) b
where p.maphong=b.maphong and b.sg > p.so_luong_ghe;
IF (F>0) THEN
RAISE_APPLICATION_ERROR(-20000,' số ghế trong phong đã hết ');
END IF;
END;

INSERT INTO ve (manv, masuat, maphong, maghe, giave,stt) VALUES
(3,3,2,11,'70000',3);


Tự động cập nhật loại ghế (vip, thường)
create or replace
TRIGGER TR_loaighe

after insert
on ve
begin
MERGE INTO ve v
24


USING ghe g
ON (v.maghe=g.maghe)
WHEN MATCHED THEN
UPDATE SET v.loaighe = g.maloaighe ;
end;


Vé nào ghế vip thì tự update giá cao hơn, không thì bình thường
CREATE OR REPLACE TRIGGER TR_giaban
before INSERT or UPDATE of giave
on ve
REFERENCING NEW AS NEW
FOR EACH ROW
begin
update ve
set giave =
(
CASE WHEN loaighe=1 THEN :new.giave + 20000
WHEN loaighe=2 THEN :new.giave + 5000
ELSE :new.giave + 0
END
);
end;




Ngày bán vé phải nhỏ hơn hoặc bằng ngày chiếu
create or replace
TRIGGER TR_ngaybanve
before insert or update of ngay_ban_ve
on ve
begin
MERGE INTO ve v
USING lichchieu l
ON (v.ngaychieu=l.ngaychieu)
WHEN MATCHED THEN
UPDATE SET v.ngay_ban_ve = l.ngaychieu ;
end;



Không nhập trùng vé khi vé đã có
25


×