CHƯƠNG III THIẾT KẾ CƠ SỞ DỮ LIỆU

Một phần của tài liệu xây dựng phần mềm quản lý tuyển sinh đại học ngoại thương (Trang 54 - 64)

III.1 Lý thuyết

Một hệ thống trong trạng thái vận động bao gồm hai yếu tố là các chức năng xử lý dữ liệu. Giữa xử lý và dữ liệu có mối quan hệ mật thiết chặt chẽ và bản thân dữ liệu có mối liên kết nội bộ không liên quan đến xử lý đó là tính độc lập dữ liệu. Mô tả dữ liệu được xem như việc xác định tên, kiểu (dạng) dữ liệu và tính chất của dữ liệu. Dữ liệu không phụ thuộc vào người sử dụng đồng thời không phụ thuộc vào yêu cầu tìm kiếm và thay đổi thông tin.

Mục đích của giai đoạn phân tích hệ thống về dữ liệu là: Lập lược đồ dữ liệu hay gọi là biểu đồ cấu trúc dữ liệu (BCD). Hệ thống dữ liệu được lưu trữ lâu dài:

- Thông tin gì, bao gồm dữ liệu gì?

- Mối liên quan: xác định liên quan giữa các dữ liệu.

Kết quả của giai đoạn phân tích hệ thống về mặt dữ liệu là cho chúng ta một khuôn dạng hỗ trợ các phân tích viên hệ thống trong quá trình nhận thức và biểu diễn các dữ liệu sử dụng trong HTTT, đồng thời chỉ rõ được cấu trúc của dữ liệu.

Phương pháp thực hiện: Thể hiện theo hai cách tiếp cận:

+ Mô hình thực thể liên kết: phương pháp này trực quan đi từ trên xuống dưới, bằng cách xác định các thực thể, mối liên kết giữa chúng rồi đến các thuộc tính. Phương pháp này bao trùm được nhiều thông tin, tuy nhiên kết quả hay thừa.

+ Mô hình quan hệ: Xuất phát từ danh sách các thuộc tính rồi đến các lược đồ quan hệ. Phương pháp này đi từ dưới lên, kết quả là vừa đủ cho những kết xuất xử lý.

Ở đây, em thành lập BCD dựa trên mô hình thực thể liên kết. Mô hình thực thể liên kết là công cụ thành lập lược đồ dòng dữ liệu hay gọi là biểu đồ cấu trúc dữ liệu (BCD), nhằm xác định các khái niệm về các thực thể, thuộc tính, và mối liên hệ ràng buộc giữa chúng. Mục đích của mô hình là xác định các yếu tố:

- Dữ liệu nào cần xử lý.

- Mối liên quan nội tại (cấu trúc) giữa các dữ liệu.

Để xây dựng biểu đồ BCD trước tiên ta phải thu nhập thông tin theo ba yếu tố sau:

+ Kiểu thực thể (Entities Type).

+ Kiểu quan hệ (Entities Relationship Type). + Các thuộc tính (Attributes).

III.1.1 Xác định các thực thể

Thực thể là một vật thể, một chủ điểm, một nhiệm vụ, một đối tượng, hay một sự kiện đáng quan tâm đối với tổ chức (và cả bên trong lĩnh vực hệ thống), kể cả những thông tin mà nó giữ, mà ta muốn phản ánh nó trong HTTT.

III.1.2 Quan hệ và kiểu quan hệ

Mô hình dữ liệu được dùng không chỉ là một công cụ phân tích và thiết kế mà còn như phương pháp kiểm tra chặt chẽ các yêu cầu quản lý của người sử dụng.

Quan hệ (liên kết) là sự kết nối có ý nghĩa giữa hai hay nhiều thực thể phản ánh một sự ràng buộc về quản lý.

Kiểu quan hệ (liên kết) là tập các liên kết cùng bản chất. Giữa các kiểu thực thể có thể tồn tại nhiều mối liên kết, mỗi mối liên kết xác định một tên duy nhất.

Biểu diễn các quan hệ bằng đoạn thẳng nối giữa hai kiểu thực thể.

Các dạng kiểu quan hệ (liên kết): Giả sử ta có các thực thể A,B,C,D,... Kiểu quan hệ là sự xác định có bao nhiêu thể hiện của kiểu thực thể này có thể kết hợp với bao nhiêu thể hiện của thực thể kia.

Mối quan hệ (liên kết) giữa các thực thể

Như chúng ta đã biết, mối quan hệ tự nhiên xuất hiện giữa các thực thể gồm các kiểu khác nhau. Những mối quan hệ này được biểu diễn trên mô hình thực thể bằng các đường có mũi tên hoặc dấu tam giác.

Có ba kiểu quan hệ chính được sử dụng dưới các dạng đơn giản nhất của mô hình thực thể:

+ Liên kết một - một: liên kết một - một (1-1) giữa hai kiểu thực thể A, B là ứng với một thực thể trong A có một thực thể trong B và ngược lại.

+ Liên kết một - nhiều:Liên kết một – nhiều (1-N) giữa hai kiểu thực thể A, B là ứng với một thực thể trong A có nhiều thực thể trong B, nhưng ngược lại ứng với một thực thể trong B chỉ có một thực thể trong A. Quan hệ liên kết này biểu diễn nối kết bằng đoạn thẳng giữa hai kiểu thực thể và thêm chạc 3 (hay còn gọi là chân gà) về phía nhiều, đầu không đánh dấu chỉ ra bảng với một dòng, còn bảng ở đầu chân gà sẽ chứa nhiều dòng.

+ Liên kết nhiều - nhiều:Liên kết nhiều – nhiều (N-N) giữa hai kiểu thực thể A, B là ứng với một thực thể trong A có nhiều thực thể trong B và ngược lại ứng với một thực thể trong B có nhiều thực thể trong A. Quan hệ nhiều - nhiều được biểu diễn trên mô hình bởi một đường với ký hiệu chân gà ở hai đầu. Liên kết nhiều – nhiều rất khó cài đặt trong các hệ quản trị CSDL sẵn có. Để dễ biểu diễn người ta dùng phương pháp thực thể hóa bằng cách bổ sung thực thể trung gian để biến đổi liên kết nhiều - nhiều thành hai liên kết một – nhiều.

Những mối quan hệ này được biểu diễn trên mô hình thực thể bằng các đường có mũi tên hoặc dấu tam giác

III.1.3 Xác định các thuộc tính (adsbygoogle = window.adsbygoogle || []).push({});

Thuộc tính là giá trị thể hiện một đặc điểm nào đó của một thực thể hay một liên kết. Mỗi một thực thể bao gồm một số thuộc tính, và phân thành 4 loại thuộc tính phổ biến: Thuộc tính tên gọi (định danh), thuộc tính mô tả, thuộc tính kết nối, thuộc tính khóa.

III.2 Thiét kế cơ sở dữ liệu III.2.1 Các thực thể

Hồ sơ (mã hồ sơ, mã ngành, khối thi, họ đệm, tên, ngày sinh, nơi sinh, giới tính, hộ khẩu thường trú, mã khu vực, dân tộc, mã đối tượng, mã đăng ký dự tuyển, năm tốt nghiệp, số chứng minh nhân dân, địa chỉ, số báo danh, số phòng thi) Khối thi( khối thi, môn 1, môn 2, môn 3)

Ngành(mã ngành, tên ngành, khối thi, chỉ tiêu, điểm chuẩn) Đối tượng(mã đối tượng, điểm đôi tượng)

Khu vực(mã khu vực, điểm khu vực)

Đơn vị đăng ký dự tuyển( mã đăng ký dự tuyển, nơi đăng ký dự tuyển) Phòng thi(mã phòng thi, mã cụm thi)

Cụm thi(mã cụm thi, địa điểm, mã phòng đầu, mã phòng cuối, số lượng) Phách(Số báo danh, khối thi, phách môn 1, phách môn 2, phách môn 3) Phách môn 1( phách môn 1, điểm môn 1)

Phách môn 2( phách môn 2, điểm môn 2) Phách môn 3( phách môn 3, điểm môn 3)

III.2.2 Kiểu liên kết giữa các thực thể

- Liên kết giữa Hồ sơ - Khối thi là liên kết N-1: vì một hồ sơ chỉ đăng ký được một khối thi và một khối thi thì có nhiều hồ sơ đăng ký.

- Liên kết giữa Hồ sơ – Ngành là liên kết N-1: Vì một hồ sơ chỉ đăng ký được một ngành và một ngành thì có nhiều hồ sơ đăng ký.

Hồ sơ Khối thi

Hồ sơ Ngành

- Liên kết Hồ sơ - Đối tượng là liên kết N -1 : Vì một hồ sơ chỉ được đăng ký một đối tượng và một đối tượng có thể có nhiều hồ sơ đăng ký

- Liên kết giữa Hồ sơ – Khu vực là liên kết N – 1: Vì một hồ sơ chỉ được đăng ký một khu vực và một khu vực có thể được đăng ký bởi nhiều hồ sơ.

- Liên kết giữa Hồ sơ – Đơn vị đăng ký dự tuyển là liên kết N -1: Vì một hồ sơ chỉ có một đơn vị đăng ký dự tuyển và một đơn vị đăng ký dự tuyển có nhiều hồ sơ.

- Liên kết giữa Hồ sơ - Số báo danh là liên kết 1 – 1: Vì một hồ sơ có một số báo danh và một số báo danh chỉ cung cấp cho một hồ sơ.

- Liên kết giữa Hồ sơ – Phách là liên kết 1 -1: Vì một hồ sơ chỉ có một phách và một phách chỉ cung cấp cho một hồ sơ.

- Liên kết giữa Khối thi – Ngành là liên kết 1 – N: vì có nhiều ngành thi chung một khối thi và mỗi ngành thi một khối.

- Liên kết giữa Số báo danh – Phòng thi là liên kết N-1: Vì mỗi số báo danh chỉ thi ở một phòng và một phòng có nhiều số báo danh.

Hồ sơ Đối

tượng

Hồ sơ Khu vực

Hồ sơ Đơn vị đăng

ký dự tuyển

Hồ sơ Số báo

danh

Hồ sơ Phách

- Liên kết giữa Phòng thi - Cụm thi là liên kết N -1: Vì mỗi phòng thi chỉ ở một cụm và một cụm có nhiều phòng thi.

- Liên kết giữa Phách – phách môn 1 là liên kết 1 -1: (adsbygoogle = window.adsbygoogle || []).push({});

- Liên kết giữa Phách – phách môn 1 là liên kết 1 -1:

- Liên kết giữa Phách – phách môn 1 là liên kết 1 -1: Số báo danh Phòng thi Phòng thi Cụm thi Phách Phách môn 1 Phách Phách môn 2 Phách Phách môn 3 60

III.2.3 Mô hình thực thể liên kết E-R Hình 13 – Mô hình thức thể liên kết E - R Đơn vị đăng ký dự tuyển Số báo danh Khối thi Ngành Phòng thi Cụm thi Đối tượng Khu vực Hồ sơ

Phách môn1 Phách môn 2 Phách môn 3 Phách

III.2.4 Thiết kế cơ sở dữ liệu

* Bảng tblhoso : Lưu trữ các thông tin về hồ sơ

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

mahs Autonumber Long integer Mã hồ sơ Khóa chính

manganh Text 3 Mã ngành lấy từ tblngành

khoithi Text 10 Khối thi lấy từ tblkhoithi

hodem Text 20 Họ đệm

ten Text 6 Tên

ngaysinh Date/time Ngày sinh

noisinh Text 20 Nơi sinh

gioitinh Yes/no Giới tính

HKTT Text 50 Hộ khẩu thường trú

makhuvuc Text 6 Mã khu vực

dantoc Text 15 Dân tộc

madoituong Text 2 Mã đối tượng lấy từ tbldoituong

madkdt Text 2 Mã đăng ký dự tuyển lấy từ tbldkdt namtn Number integer Năm tốt nghiệp

socmnd Number Long integer Số chứng minh thư

diachi Text 50 Địa chỉ

Sobaodanh Text 10 Số báo danh

maphongthi Text 10 Mã phòng thi lấy từ tblphongthi

* Bảng tblkhoithi: Lưu trữ các thông tin về khối thi

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

khoithi Text 10 Khối thi Khóa chính

mon1 Text 10 Môn 1

mon2 Text 10 Môn 2

mon3 Text 10 Môn3 (adsbygoogle = window.adsbygoogle || []).push({});

* Bảng tblnganh: Lưu trữ các thông tin về ngành

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

manganh Text 3 Mã ngành Khóa chính

tennganh Text 50 Tên ngành

khoithi Text 10 Khối thi lấy từ tblkhoithi

chitieu Number Integer Chỉ tiêu

diemchuan Number Singer Điểm chuẩn

* Bảng tbldoituong: Lưu trữ thông tin về điểm ưu tiên của mỗi đối tượng Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

madoituong Text 2 Mã ngành Khóa chính

diemdoituong Number Singer Khối thi

* Bảng tblkhuvuc: Lưu trữ thông tin điểm ưu tiên cho từng khu vực

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

makhuvuc Text 2 Mã khu vực Khóa chính

diemkhuvuc Text 30 Điểm khu vực

* Bảng tbldkdt: Lưu trữ thông tin về đơn vị đăng ký dự tuyển

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

madkdt Text 2 Mã đăng ký dự tuyển Khóa chính

noidkdt Text 20 Nơi đăng ký dự tuyển

* Bảng tblphongthi: Lưu trưc thông tin về phòng thi

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

maphongthi Text 10 Mã phòng thi Khóa chính

macumthi Text 10 Mã cụm thi lấy từ tblcumthi

* Bảng tblcumthi: Lưu trữ thông tin về cụm thi

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

macumthi Text 10 Mã cụm thi Khóa chính

diadiem Text 50 địa điểm

maphongdau Text 10 Mã phòng đầu

maphongcuoi Text 10 Mã phòng cuối

soluong Number Long integer Số lượng

* Bảng tblphach: Lưu trữ thông tin về phách 3 môn của mỗi thí sinh Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú sobaodanh Text 10 Số báo danh lấy từ tblhoso (adsbygoogle = window.adsbygoogle || []).push({});

khoithi Text 10 khối thi lấy từ tblkhoithi

phachmon1 Text 15 Phách môn 1 lấy từ tblphachmon1 phachmon2 Text 15 Phách môn 2 lấy từ tblphachmon2 phachmon3 Text 15 Phách môn 3 lấy từ tblphachmon3

* Bảng tblphachmon 1: Lưu trữ thông tin về phách môn 1

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

phachmon1 Text 15 Phách môn 1 Khóa chính

diemmon1 number Singer điểm môn 1

* Bảng tblphachmon 2: Lưu trữ thông tin về phách môn 2

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

phachmon2 Text 15 Phách môn 2 Khóa chính

diemmon2 number singer điểm môn 2

* Bảng tblphachmon 3: Lưu trữ thông tin về phách môn 3

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

phachmon3 Text 15 Phách môn 3 Khóa chính

diemmon3 number singer điểm môn 3

* Bảng thông tin hồ sơ xét tuyển nguyện vọng (tblnguyenvong)

Tên trường Kiểu dữ liệu Kích thước Giải thích Ghi chú

maxt Text 15 Mã xét tuyển Khóa chính

Hodem Text 30 họ đệm

Ten Text 6 tên

Ngaysinh Date/time Ngày sinh

HKTT Text 20 Hộ khẩu thường trú

Diachi Text 50 địa chỉ

Manganh Text 3 Mã ngành

Diemmon1 Number singer điểm môn 1

Diemmon2 Number singer điểm môn 2

Diemmon3 Number singer điểm môn 3

tongdiem Number singer Tổng điểm

Một phần của tài liệu xây dựng phần mềm quản lý tuyển sinh đại học ngoại thương (Trang 54 - 64)