Mô hình quan hệ thực thể mô hình ERlDùng để thiết kế cơ sở dữ liệu mức quan niệmlĐộc lập với tất cả các xem xét về vật lý DBMS,OS….lLược đồ cơ sở dữ liệu trong mô hình ER có thể được hi
Trang 1TRƯỜNG ĐẠI HỌC THƯƠNG MẠI KHOA HTTT KINH TẾ VÀ THƯƠNG MẠI ĐIỆN TỬ
This Photo by Unknown Author is licensed under CC BY-NC
Giảng viên hướng dẫn : ĐINH THỊ HÀ
Trang 2BẢNG ĐÁNH GIÁ ĐIỂM THAM GIA THẢO LUẬN NHÓM 3
ST
T Mã SV Họ và tên
Điểm tự đánh giá
Điểm giáo viên đánh giá
22 21D19017 5 Lê Thị Linh 8.5 Linh
23 21D19017 6 Nguyễn Thị Thùy Linh 8.5 Linh
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 4
CHƯƠNG I CƠ SỞ LÝ THUYẾT 5
1.1 Khái niệm và quy trình xây dựng mô hình thực thể ER 5
1.1.1 Mô hình quan hệ thực thể ( mô hình ER) 5
1.1.2 Các khái niệm 5
1.1.3 Các loại thuộc tính 5
1.1.4 Quy trình xây dựng mô hình thực thể ER 6
1.2 Quy trình biến đổi mô hình thực thể (ER) sang mô hình quan hệ 8
1.3 Giới thiệu về SQL, các câu lệnh SQL 9
CHƯƠNG 2 XÂY DỰNG CSDL QUẢN LÝ KHO VẬT TƯ 10
2.1 Đặt bài toán 10
2.1.1 Bài toán 10
2.1.2 Yêu cầu đặt ra 11
2.2 Phân tích bài toán 11
2.2.1 Xác định các thực thể 11
2.2.2 Xác định các thuộc tính của thực thể 12
2.2.3 Mối quan hệ giữa các thực thể 12
2.3 Cài đặt CSDL trên hệ QTCSDL 15
2.3.1 Các bước tạo bảng trong MySQL (tạo bằng code) 15
2.3.2 Hướng dẫn tạo Database Diagram trong SQL Sever 17
2.3.3 Các câu lệnh tạo bảng trong bài toán 19
2.4 Một số truy vấn trong hệ QTCSDL 21
KẾT LUẬN 24
Trang 4LỜI MỞ ĐẦU
Trong bốn thập kỷ qua, các doanh nghiệp đã chuyển từ ghi sổ kế toán thủ công vàgiao tiếp tương tự sang một môi trường kinh doanh kỹ thuật số Hầu hết tất cả các giaotiếp kinh doanh được thực hiện thông qua các thiết bị điện tử và dữ liệu kỹ thuật sốbao gồm một phần lớn thông tin doanh nghiệp Nhu cầu CNTT cũng tăng lên trongmôi trường làm việc từ xa; doanh nghiệp phụ thuộc nhiều vào thiết bị, mạng và hệthống lưu trữ dữ liệu Rất nhiều các chương trình phần mềm ứng dụng trong quản lý rađời như chương trình quản lý nhân sự, quản lý hàng hóa, quản lý vật tư và thực sựchiếm được lòng tin của khách hàng Tuy nhiên, để cho ra đời một sản phẩm phầnmềm quản lý có chất lượng thì người thiết kế phải hiểu được thực tế về công ty, doanhnghiệp mà mình thiết kế mô hình cơ sở dữ liệu để quản lý Các chương trình ứng dụngphải có độ chính xác cao, việc lưu trữ dữ liệu phải thuận tiện cho việc tra cứu và kiểmtra Phần mềm phải hoạt động tốt đáp ứng được các nhu cầu mới phát sinh và cho hiệuquả kinh tế cao đồng thời phải phù hợp với khả năng kinh tế của công ty, doanhnghiệp Trong xu thế hội nhập vào nền kinh tế thế giới, để phát triển nền kinh tế theohướng công nghiệp hóa, hiện đại hóa, ngành CNTT đã trở thành cầu nối xuyên quốcgia trong mọi hoạt động và tổ chức kinh tế, thương mại Với việc áp dụng các thànhtựu khoa học tiên tiến, hiện đại vào lĩnh vực tin học, chúng ta đã dần thay thế cácphương pháp thủ công bằng các chương trình phần mềm quản lý trên máy tính, giảmbớt đi thời gian, nhân lực, tăng dộ chính xác và bảo mật cao Những phần mềm quản lý
sẽ là công cụ không thể thiếu cho các doanh nghiệp trong và ngoài nước
Với đề tài này, chúng em mong muốn các công ty, doanh nghiệp, các trung tâm,các tổ chức kinh tế, xã hội và các nhà quản lý sẽ nhìn thấy tầm quan trọng của CNTTđặc biệt là các phần mềm ứng dụng trong công tác quản lý của mình Chúng em rấtmong nhận được những ý kiến đóng góp và chỉ bảo của cô để đề tài lần sau chúng em
sẽ làm tốt hơn
Trang 5CHƯƠNG I CƠ SỞ LÝ THUYẾT
1.1 Khái niệm và quy trình xây dựng mô hình thực thể ER
1.1.1 Mô hình quan hệ thực thể ( mô hình ER)
lDùng để thiết kế cơ sở dữ liệu mức quan niệm
lĐộc lập với tất cả các xem xét về vật lý( DBMS,OS….)
lLược đồ cơ sở dữ liệu trong mô hình ER có thể được hiện dưới dạng hình ảnh(giản đồ ER)
1.1.2 Các khái niệm
lThực thể ( Entity) : “thing” or object: Là các đối tượng của thế giới thực, baogồm cả các đối tượng có thể nhìn thấy được hoặc không nhìn thấy được (nằmtrong ý niệm)
lTập thực thể (Entity set) : collection of similar entities (similar to a class inOOP): (hay loại thực thể) Là tập hợp tất cả các thực thể giống nhau (có cùngcác thuộc tính)
lThuộc tính (Atribute) : property of entity: Để mô tả thông tin về một thực thểngười ta thường dựa vào các đặc trưng riêng của thực thể đó Các đặc trưng đóđược gọi là thuộc tính của thực thể
lKhóa : Là một tập các thuộc tính dùng để xã định tính duy nhất của mỗi bộtrong quan hệ
Các bộ trong quan hệ khác nhau từng đôi một
Khóa gồm: siêu khóa, khóa, khóa chính
Trang 6lDẫn xuất (derived) : Là thuộc tính của nó có thể có thể được suy ra từ giá trị củacác thuộc tính khác liên quan theo một nguyên tắc nào đó Không phải nhập,được tính không qua các thuộc tính khác.
Kí hiệu: bằng một hình elip có nét đứt
VD: Năm sinh của một người thì được lưu trữ trong CSDL, còn tuổi của người
đó sẽ được tính toán từ năm sinh
lLưu trữ (stored) : Là thuộc tính mà giá trị của nó phải được nhập vào khi cài đặt
cơ sở dữ liệu Phải nhập từ bàn phím.
lĐịnh danh : Dùng để phân biệt các đối tượng
lMô tả : Dùng để mô tả các đặc điểm tidnh chất, đánh giá, nhận xét của thực thể
lGiá trị NULL : Dữ liệu trong một cột cho phép NULL sẽ nhận giá trị NULLtrong các trường hợp sau:
Nếu không có dữ liệu được nhập cho cột và không có mặc định cho cột haykiểu dữ liệu trên cột đó
Người sử dụng trực tiếp đưa giá trị NULL vào cho cột đó
Một cột có kiểu dữ liệu là kiểu số sẽ chứa giá trị NULL nếu giá trị được chỉđịnh gây tràn số
lThuộc tính phức tạp
Đa hợp: () and ,
Đa trị: {}
Các thuộc tính đa hợp và đa trị có thể được lồng vào nhau tùy ý
1.1.4 Quy trình xây dựng mô hình thực thể ER
Bước 1: Liệt kê, chính xác hóa và lựa chọn các thông tin cơ sở
lTừ tài liệu, hồ sơ khảo sát được đi thiết kế xây dựng một từ điển tài liệu gồm cótoàn bộ những thuộc tính
gọi của thuộc tính bảo vệ mỗi mục từ mang khá đầy đủ ý nghĩa và chỉ hoàn toàn
có thể hiểu theo một nghĩa duy nhất (dựa vào ngữ nghĩa và thực chất của nộidung nhiệm vụ mà thuộc tính đó phản ánh)
lDuyệt lần lượt từ trên xuống dưới để loại đi những thuộc tính không thiết yếu,chỉ giữ lại những thuộc tính bảo vệ những nhu yếu sau:
Trang 7Đề tài thảo luận
Cơ sở dữ liệu None
2
Cơ chế Pkd cơ sở dữ liệu
Cơ sở dữ liệu None
3
Đề cương ôn tập Quản trị CSDL
2
Trang 8lMỗi thuộc tính cần phải đặc trưng cho cả lớp hồ sơ được xét (nếu thuộc tính chỉmang đặc trưng của một hồ sơ đơn cử thì hoàn toàn có thể bỏ đi)
lMỗi thuộc tính chỉ được chọn một lần
lMỗi thuộc tính phải là sơ cấp (nếu một thuộc tính hoàn toàn có thể suy trực tiếp
từ những thuộc tính khác đã được chọn trước đó thì cũng loại đi)
lĐánh dấu loại đặc trưng thuộc tính: (1), (2), (3)
Bước 2: Xác định các thực thể, thuộc tính và định danh
lDựa vào những thuộc tính “ tên gọi” để xác lập thực thể (mỗi thuộc tính “têngọi” sẽ cho tương ứng 1 thực thể và tên thực thể phải chọn sao cho gần với têntrong những hồ sơ chứng từ được sử dụng và phản ánh đúng những đối tượngngười dùng nhiệm vụ tương quan)
lXác định thuộc tính của thực thể (dựa vào Đánh dấu loại đặc trưng những thuộctính là (2) ở bước 1) và thuộc tính định danh (nếu cần thì thêm vào)
Bước 3: Xác định các mối quan hệ và thuộc tính tương ứng
lTrong những thuộc tính còn lại (sau bước 2) hãy tìm toàn bộ những động từ(nếu có 1 số ít động từ cùng màn biểu diễn một hoạt động giải trí tương tác trênthực tiễn thì chỉ cần chọn 1 động từ tương thích)
lDựa vào mỗi động từ tìm được: hãy đưa ra các dạng câu hỏi:
Ai/cho ai? Cái gì/cho cái gì? Ở đâu? và tìm câu trả lời từ các thực thể đãxác định được ở trên
Bằng cách nào? Vì sao? Khi nào? Như thế nào? Bao nhiêu? và tìm câu trảlời từ các thuộc tính đã được đánh dấu đặc trưng loại (3) trên
Để từ đó xác lập ra những mối link mà những thực thể tham gia vào và nhữngthuộc tính riêng của nó
lTìm xem có những mối quan hệ phụ thuộc hay sở hữu giữa từng cặp thực thểhay không (thường được thể hiện bằng các nội động từ: THUỘC, CỦA, Ở,THEO, LÀ, CÓ…)?
Bước 4: Vẽ biểu đồ mô hình thực thể ER
lSử dụng những ký hiệu để màn biểu diễn: Những thực thể, thuộc tính tươngứng (đã xác lập được ở bước 2); những mối quan hệ giữa những thực thể, thuộctính của mối quan hệ tương ứng (nếu có) (đã xác lập được ở bước 3)
Cơ sở dữ liệu None
Trang 9lXác định bản số cho mỗi thực thể tham gia vào mối quan hệ (dựa vào hồ sơ đểxem có bao nhiêu bản thể được biểu lộ ra trên mẫu hồ sơ thì trên biểu đồ bản
số nhiều nhất có bấy nhiêu)
lXác định loại link (dựa vào bản số của mỗi thực thể)
Bước 5: Chuẩn hóa và thu gọn biểu đồ
lCác thuộc tính lặp, nhóm lặp hay những thuộc tính phụ thuộc vào thời hạntrong biểu đồ thì phải chuẩn hóa để chuyển biểu đồ về chỉ còn thuộc tính đơn
Nếu 1 thực thể Open nhiều lần trong biểu đồ ở nhiều mối quan hệ thì trìnhdiễn lại để nó Open 1 lần nhưng vẫn tham gia khá đầy đủ vào những mốiquan hệ
Nếu 1 thực thể: chỉ có 1 thuộc tính, mối quan hệ ở phía 1 và cấp quan hệ làbậc 2 thì loại thực thể này ra khỏi biểu đồ và chuyển thuộc tính riêng của nó
và mối quan hệ vào thành thuộc tính của thực thể quan hệ với nó
1.2 Quy trình biến đổi mô hình thực thể (ER) sang mô hình quan hệ
Quy tắc 1 (Quy tắc cơ bản): Các tập thực thể (trừ thực thể yếu) được chuyển thành
quan hệ có cùng tên và cùng tập thuộc tính, cùng khóa
Quy tắc 2: Chuyển đổi dựa trên các mối liên kết
lQuy tắc 2.1: Đối với mối liên kết 1-1 : Hoặc thêm vào quan hệ này thuộc tínhkhóa của quan hệ kia hoặc thêm thuộc tính khóa của 2 mối liên kết vào quanhệ
lQuy tắc 2.2: Đối với mối liên kết 1-Nhiều : Tên quan hệ là tên tệp nhiều thựcthể ở bên một và thêm quan hệ này thuộc tính khóa của quan hệ nhiều
lQuy tắc 2.3: Đối với mối liên kết Nhiều – Nhiều : Tạo một quan hệ mới có: Tênquan hệ là tên mối liên kết, thuộc tính bao gồm thuộc tính khóa của các tậpthực thể liên quan
Quy tắc 3: Chuyển đổi dựa trên các thực thể yếu
Thực thể yếu chuyển thành một quan hệ có cùng tên với thực thể yếu, các thuộctính bao gồm các thuộc tính của thực thể yếu và thuộc tính khóa của quan hệ liên quan
Quy tắc 4: Chuyển đổi dựa trên thuộc tính đa trị
Trang 10Thuộc tính đa trị được chuyển đổi thành một quan hệ có cùng tên với thuộc tính đatrị và thuộc tính khóa của quan hệ này là khóa ngoại của quan hệ chứa thuộc tính đatrị.
Quy tắc 5: Chuyển đổi liên kết đa ngôi giữa các thực thể (n > 2)
Mối liên kết đa ngôi được chuyển thành một quan hệ có cùng tên với mối liên kết
đa ngôi, và khóa chính của quan hệ mới sinh ra là tổ hợp các khóa của tập các thực thểtham gia vào liên kết đa ngôi
1.3 Giới thiệu về SQL, các câu lệnh SQL
SQL (Structured Query Language): Là một ngôn ngữ máy tính dùng để tạo, chỉnhsửa và truy vấn dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ
SQL giúp cho người dùng thực hiện các nhiệm vụ trên một cách dễ dàng, với cáccấu trúc và cú pháp lệnh đơn giản dễ học
SQL cũng là một ngôn ngữ có tính dịch chuyển cao, do ngôn ngữ tuân theo nhữngchuẩn đã được xác định nên người dùng có thể sử dụng cùng một cấu trúc và cú pháplệnh khi họ chuyển từ một hệ quản trị cơ sở dữ liệu này sang một hệ quản trị cơ sở dữliệu khác
SQL là một “ngôn ngữ hướng chuyển đổi” (transform – oriented language), ngônngữ được thiết kế để sử dụng các quan hệ trong việc chuyển đổi các đầu vào thành cácđầu ra yêu cầu
Theo chuẩn ISO, ngôn ngữ SQL có 2 thành phần chính:
lThành phần ngôn ngữ định nghĩa dữ liệu: Dùng để định nghĩa các cấu trúc cơ
sở dữ liệu và quản lý các truy cập đến dữ liệu
Các câu lệnh:
một bảng hoặc là của các đối tượng khác nhau trong cùng một Database
Ví dụ : create table SinhVien (MaSV int,TenSV nchar(50))
tượng khi đã tồn tại bên trong một Database
Ví dụ : alter table SinhVienadd QueQuan int
Trang 11 DROP TABLE (Hủy bảng): Lệnh này được áp dụng nếu bạn muốn xóabảng, xóa view của một bản hoặc là của một đối tượng khác bên trongDatabase đó.
Ví dụ : drop database HoSoSinhVien
lThành phần ngôn ngữ quản trị dữ liệu: Dùng để truy vấn và cập nhật dữ liệu.Các câu lệnh:
hoặc một vài bản ghi nhất định, có từ một hoặc nhiều bảng khác nhau
Ví dụ: select TenSV, DiemTBfrom SinhVien
INSERT (Chèn): Được sử dụng khi bạn muốn tạo nên một bản ghi
Ví dụ: insert into SinhVien (MaSV, TenSV, QueQuan)values (1, N’NguyễnVăn A’, 1)
một bản ghi
Ví dụ: update SinhVienset NhomTruong = 1
DELETE (Xóa): Đây là lệnh được nhiều người biết tới, nó được dùng nếubạn muốn xóa bản ghi
Ví dụ: delete from SinhViendelete from SinhVien where MaSV=1234
CHƯƠNG 2 XÂY DỰNG CSDL QUẢN LÝ KHO VẬT TƯ
Khi có lệnh nhập (xuất) kho từ phòng kế hoạch thì chúng ta làm phiếu nhập (xuất)căn cứ theo số chứng từ trong lệnh yêu cầu nhập (xuất) ,trong đó có ghi số lượng nhập(xuất) giao cho các kho nhập (xuất) hàng Trong quá trình nhập (xuất) thì có sự thay
Trang 12đổi về số lượng Khi xuất (nhập) xong thì thủ kho sẽ ghi thực nhập và thực xuất Khiphiếu nhập(xuất) đem trả về cho chúng ta thì sẽ phải cập nhật lại số lượng Do các khonằm rải rác ở những khu vực khác nhau nên chi phí quản lý, chi phí về nhân công,cũng như chi phí vận chuyển cũng khác nhau cho nên đơn giá vật tư ở những khocũng khác nhau, vì vậy có sự khác nhau về đơn giá Tuy nhiên mỗi kho có chứa nhiềuloại vật tư khác nhau, nhưng phải thống nhất cách mã hóa để quản lý các vật tư chothống nhất Do nhu cầu về phát triển vật tư cho nên luôn luôn phải quản lý cho được sốlượng tồn kho tại mọi thời điểm và phải làm báo cáo số lượng tồn của mỗi vật tư tạimỗi kho cũng như giá cả cho phòng kế toán.
2.1.2 Yêu cầu đặt ra
Doanh nghiệp cần xây dựng một hệ thống để quản lý được các kho hàng của mìnhthông qua các chức năng như :
lQuản lý các phiếu xuất và nhập kho
lQuản lý số lượng các sản phẩm được nhập vào kho
lQuản lý số lượng từng nhóm sản phẩm được xuất kho
lQuản lý các nhóm sản phẩm còn tồn trong các kho
2.2 Phân tích bài toán
Mục đích quá trình phân tích dữ liệu là xác định các thực thể cần thiết, các thuộctính của dữ liệu và mối quan hệ giữa các thực thể Một hệ thống thông tin phải được tổchức rõ ràng, đầy đủ, tránh dư thừa dữ liệu, tránh trùng lặp dữ liệu và đảm bảo độc lập
Trang 142.2.2 Xác định các thuộc tính của thực thể.
Thực thể Thuộc tính Thuộc tính khóa
Nhà cung cấp
Mã nhà cung cấp , Tên nhàcung cấp, Địa chỉ, Số điệnthoại, Fax
Mã nhà cung cấp
Khách hàng
Mã khách hàng, Tên kháchhàng, Địa chỉ, Số điện thoại,Fax
Mã khách hàng
Nhân viên
Mã nhân viên, Tên nhân viên,Ngày sinh, Số điện thoại, Giớitính
Mã nhân viên
Phiếu nhập
Số phiếu, Ngày nhập, Mã vật
tư, Mã nhà cung cấp, Mã kho,
Mã nhân viên, Số lượng, Đơngiá
Mã vật tư
Phiếu xuất
Số phiếu, Ngày xuất, Mã vật
tư, Mã khách, Mã kho, Sốlượng, Đơn giá
Mã vật tư
2.2.3 Mối quan hệ giữa các thực thể
lMột-to-Một : Loại mối quan hệ này chỉ cho phép một bản ghi ở mỗi bên của
mối quan hệ
lMột-nhiều : Mối quan hệ một-nhiều cho phép một bản ghi trong một bảng có
liên quan đến nhiều bản ghi trong một bảng khác
lNhiều-nhiều : Đây là một mối quan hệ phức tạp trong đó nhiều bản ghi trong
một bảng có thể liên kết với nhiều bản ghi trong một bảng khác
Trang 15NHẤN VIẾN
Trang 16Mô hình thực thể/liên kết( Mô hình E-R):
Mô
hình quan hệ
Trang 172.3 Cài đặt CSDL trên hệ QTCSDL
2.3.1 Các bước tạo bảng trong MySQL (tạo bằng code)
Bước 1: Mở SQL Server Management Studio Chọn Connect
Bước 2: Chọn New Query
Bước 3: Nhập câu lệnh tạo bảng và thực thi
Ví dụ về việc tạo bảng
lBảng khách hàng:
Trang 18lBảng nhà cung cấp:
lBảng vật tư:
lDanh sách bảng sau khi tạo thành công