Thiết Kế Cơ Sở Dữ Liệu

Thiết Kế Cơ Sở Dữ Liệu

Từ các phân tích ở phần trước chúng ta có thể hình dung ra được cần phải có ít nhất 2 bảng sau đây trên CSDL:

  • Bảng students: Bảng này sẽ lưu thông tin của sinh viên và nó sẽ có các trường như: code (mã số sinh viên), fullname (họ và tên), dob( ngày sinh: viết tắt của Date of Birth), gpa (điểm trung bình môn: viết tắt của grade point average)
  • Bảng teachers: Bảng này sẽ lưu thông tin của giảng viên bao gồm các trường như: fullname (họ và tên), id (id của giảng viên), class_name (tên lớp giảng viên phụ trách giảng dạy)

Kết Nối Với Database

Bây giờ chúng ta sẽ cùng tạo 2 bảng trên database server sử dụng MySQL client. Nếu sử dụng Ubuntu bạn mở terminal sử dụng tổ hợp phím tắt ctrl + alt + T. Ngược lại nếu bạn sử dụng Windows có thể sử dụng Command Promt bằng cách bấm vào Start Menu và nhập cmd vào ô tìm kiếm sau đó click vào kết quả đầu tiên.

Sau khi khởi động terminal hoặc command promt bạn có thể kết nối với MySQL server bằng cách chạy dòng lệnh:

$ mysql -u root -p

Nhập mật khẩu cho người dủng root trên MySQL Server. Nếu bạn không cài đặt mật khẩu cho root thì có thể gõ Enter.

Trong các phần tiếp theo tôi sẽ chỉ viết hướng dẫn chạy các lệnh của MySQL client trên terminal của Ubuntu. Tuy nhiên, các câu lệnh này đều giống nhau giữa Ubuntu và Windows.

Tạo Database

Tiếp theo chúng ta sẽ cần tạo một cơ sở dữ liệu sử dụng ở trong ứng dụng web của chúng ta. Ở đây bạn lưu ý rằng mỗi một hệ quản trị cơ sở dữ liệu hay DBMS có thể lưu trữ rất nhiều cơ sở dữ liệu khác nhau.

Trên terminal, sau khi đăng nhập được vào MySQL server bạn chạy câu lệnh sau để tạo database:

create database hoclaptrinh_org;

Bạn lưu ý tới dấu chấm phảy ở cuối câu lệnh trên.

Sau khi bấm Enter bạn sẽ thấy trên MySQL client sẽ hiển thị kết quả tương tự như hình dưới đây:

Để kiểm tra danh sách CSDL được tạo trên MySQL server chạy câu lệnh sau:

show databases;

Tiếp theo, sau khi tạo xong bảng bạn cần chạy câu lệnh sau để thông báo với MySQL server rằng các câu lện tiếp theo như tạo bảng, thêm dữ liệu...sẽ được thực hiện trên CSDL với tên là hoclaptrinh_org:

use hoclaptrinh_org;

Tạo Bảng students

Bước tiếp theo là tạo bảng students với các trường là codefullname và dob. Trên MySQL client, bạn chạy câu lệnh sau đây:

CREATE TABLE `students` (
  `code` int(10) unsigned DEFAULT NULL,
  `fullname` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `dob` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Để xem cấu trúc của bảng mới tạo ra bạn có thể sử dụng câu lệnh describe:

describe students;

Kết thúc câu lệnh trên, trên màn hình MySQL client sẽ hiển thị thông tin như dưới đây:

Tạo Bảng teachers

Việc tạo bảng teachers được thực hiện tương tự như tạo bảng students. Trên MySQL client chạy câu lệnh sau:

CREATE TABLE `teachers` (
  `id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `fullname` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `dob` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `class_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Như vậy ở phần này bạn đã thực việc hiện thiết kế và tạo cơ sở dữ liệu với 2 bảng là students và teachers. Phần tiếp theo chúng ta sẽ chèn một số dữ liệu ban đầu vào hai bảng này vẫn sử dụng MySQL client trước khi viết ứng dụng web cho phép thực hiện các công việc này thông qua giao diện web.

10 bình luận


Đăng bình luận