MySQL Database Query - Phần 1

I. Giới thiệu về hệ quản trị cơ sở dữ liệu MySQL

1. Khái niệm

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ.

2. Hướng dẫn cài đặt và sử dụng

Để cài đặt MySQL bạn cần phải vào trang chủ của MySQL và dowload version phù hợp với cấu hình máy tính bạn sử dụng

Xem hướng dẫn cài đặt theo video sau:

https://www.youtube.com/watch?v=pWzZNwf6ZHc

Sau khi cài đặt thành công, ta khởi động MySQL Workbench để sử dụng MySQL.

Bai3_1

II. Xây dựng và thiết kế cơ sở dữ liệu với MySQL

1. Thiết kế 1 cơ sở dữ liệu demo

LÝ THUYẾT THIẾT KẾ CƠ SỞ DỮ LIỆU

Thực thể là một sự vật, sự việc tồn tại và phân biệt được. Ví dụ: nhân viên Nguyễn Thị Hồng Nhung, môn học Cơ Sở Dữ Liệu.

Thuộc tính là các đặc điểm riêng của thực thể.

Liên kết là những ánh xạ giữa tập dữ liệu của thực thể này với tập dữ liệu của thực thể khác.

Liên kết 1-1 (một-một): liên kết 1-1 giữa 2 thực thể là liên kết mà ứng với mỗi dữ liệu trong thực thể này có nhiều nhất một dữ liệu trong thực thể kia và ngược lại.

Liên kết 1-n (một-nhiều): là liên kết mà ứng với mỗi dữ liệu trong thực thể này có một hoặc nhiều hoặc không có dữ liệu nào trong thực thể kia nhưng ngược lại thì không đúng.

Liên kết n-n (nhiều-nhiều): là liên kết mà ứng với mỗi dữ liệu trong thực thể này có một hoặc nhiều hoặc không có dữ liệu nào trong thực thể kia và ngược lại.

Tạo 1 database tên QuanLyBanHang gồm các bảng sau:

v Bảng NhanVien (Mục đích: Lưu trữ thông tin tài khoản của từng nhân viên quản trị website).

Cấu trúc bảng:

Số thứ tự Tên trường Kiểu dữ liệu Rỗng Diễn giải 1 MaNhanVien Nvarchar (50) Không Mã nhân viên 2 HoTen Nvarchar (50) Không Họ và tên 3 MatKhau Nvarchar (50) Không Mật khẩu 4 DiaChi Nvarchar (60) Không Địa chỉ 5 Email Nvarchar (50) Không Email 6 SoDienThoai Nvarchar (50) Không Số điện thoại

v Bảng NguoiDung (Mục đích: Lưu trữ thông tin tài khoản của người dùng).

Cấu trúc bảng:

Số thứ tự Tên trường Kiểu dữ liệu Rỗng Diễn giải 1 MaNguoiDung Nvarchar (50) Không Mã khách hàng 2 HoTen Nvarchar (30) Không Họ tên 3 MatKhau Nvarchar (50) Không Mật khẩu 4 DiaChi Nvarchar (60) Không Địa chỉ 5 Email Nvarchar (50) Không Email 6 Anh Nvarchar (50) Ảnh hiển thị 7 SoDienThoai Nvarchar (24) Không Số điện thoại

v Bảng TinTuc (Mục đích: Lưu trữ dữ liệu thông tin tin tức).

Cấu trúc bảng:

Số thứ tự Tên trường Kiểu dữ liệu Rỗng Diễn giải 1 MaTin Int Không Mã tin 2 ChuDe Nvarchar (50) Không Tiêu đề 3 NoiDung Nvarchar (max) Không Nội dung 4 NguoiDang Nvarchar (50) Không Người đăng 5 NgayDang DateTime Không Ngày đăng

v Bảng ThamDoYKien (Mục đích: Lưu trữ thông tin của khách hàng góp ý về thẩm mỹ, nội dung website).

Cấu trúc bảng:

Số thứ tự Tên trường Kiểu dữ liệu Rỗng Diễn giải 1 XuatSac Int Xuất sắc 2 Tot Int Tốt 3 BinhThuong Int Bình thường 4 TrungBinh Int Trung Bình 5 Xau Int Xấu

v Bảng PhanHoi (Mục đích: lưu trữ thông tin thắc mắc và góp ý của khách hàng về thẩm mỹ website và thái độ phục vụ của nhân viên).

Cấu trúc bảng:

Số thứ tự Tên trường Kiểu dữ liệu Rỗng Diễn giải 1 MaPhanhoi Int Không Mã phản hồi 2 HoTen Nvarchar (50) Họ tên 3 Email Nvarchar (50) Không Email 4 ChuDe Nvarchar (50) Không Chủ đề 5 NoiDung Nvarchar (4000) Không Nội dung 6 NgayBinh Datetime Ngày bình

v Bảng NhaSanXuat (Mục đích: Lưu trữ thông tin của các hãng sản xuất).

Cấu trúc bảng:

Số thứ tự Tên trường Kiểu dữ liệu Rỗng Diễn giải 1 MaNSX Int Không Mã nhà sản xuất 2 TenNSX Nvarchar (50) Không Tên nhà sản xuất 3 DiaChi Ntext Địa chỉ của nhà sản xuất 4 HinhAnh Nvarchar (50) Ảnh nhà sản xuất

v Bảng SanPham (Mục đích: Lưu trữ thông tin của sản phẩm).

Cấu trúc bảng:

Số thứ tự Tên trường Kiểu dữ liệu Rỗng Diễn giải 1 MaSP Int Không Mã sản phẩm 2 MaNSX Int Không Mã nhà sản xuất 3 DonGia money Không Đơn giá 4 TenSP Nvarchar (40) Không Tên sản phẩm 5 HinhAnh Nvarchar (50) Không Hình ảnh sản phẩm 6 MiêuTa Ntext Không Thông số kỹ thuật 7 TinhTrang Nvarchar (50) Không Tình trạng còn hay hết hàng 8 GiamGia Float Giảm giá

v Bảng HoaDon (Mục đích: Lưu trữ thông tin đơn hàng của khách hàng).

Cấu trúc bảng:

Số thứ tự Tên trường Kiểu dữ liệu Rỗng Diễn giải 1 MaHD Int Không Mã hóa đơn 2 MaNguoiDung Nvarchar (50) Không Mã người dùng 3 NgayNhan Datetime Không Ngày nhận hàng 4 DiaChiNhan Nvarchar (60) Không Địa chỉ nhận 5 NgayLap Datetime Không Ngày lập hóa đơn

v Bảng Chi TietHoaDon (Mục đích: Lưu trữ thông tin chi tiết về từng đơn hàng. Sản phẩm trong các đơn hàng được lưu trữ ở bảng này).

Cấu trúc bảng:

Số thứ tự Tên trường Kiểu dữ liệu Rỗng Diễn giải 1 MaHD Int Không Mã hóa đơn 2 MaSP Int Không Mã sản phẩm 3 SoLuongMua Smallint Không Số lượng mua 4 DonGia Money Không Đơn giá 5 GiamGia Float Không Giảm giá

MỐI LIÊN KẾT GIỮA CÁC BẢNG

Bai3_3

  1. Giải thích các syntax

a. Định nghĩa 1 số thuật ngữ:

NULL : Giá trị cho phép rỗng.

AUTO_INCREMENT : Cho phép giá trị tăng dần (tự động).

UNSIGNED : Phải là số nguyên dương

PRIMARY KEY : Cho phép nó là khóa chính trong bảng

b. Loại dữ liệu trong Mysql:

Ở đây chúng tả chỉ giới thiệu 1 số loại thông dụng: 1 số dữ liệu khác có thể tham khảo trên trang chủ của mysql ( xem tại đây) .

Bai3_2

III. Các cú pháp trong MySQL

1. Create Database

CREATE DATABASE tuyên bố được sử dụng để tạo ra một cơ sở dữ liệu.

Cú pháp:

      CREATE DATABASE dbname;

Ví dụ:

Create database QuanLyBanHang;

Hoặc trong Workbench chúng ta có thể sử dụng cú pháp:

CREATE SCHEMA quanlybanhang ;

Để tạo ra 1 database có tên là quanlybanhang.

Chú ý: Ở Workbench chúng convert tất cả các ký tự viết hoa trong database sang các ký tự thường.

2. Drop database

Các câu lệnh DROP Database được sử dụng để xóa một DB

Cú pháp:

DROP DATABASE dbname;

Ví dụ: DROP DATABASE quanlybanhang;

Xóa DB quanlybanhang;

Hoặc trong Workbench chúng ta có thể sử dụng cú pháp:

DROP SCHEMA quanlybanhang ;

3. Create Table

CREATE TABLE được sử dụng để tạo ra một bảng trong một cơ sở dữ liệu.

Bảng được tổ chức thành các hàng và cột; và mỗi bảng phải có một cái tên duy nhất.

Cú pháp:

CREATE TABLE table_name ( column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size), .... );

Ví dụ:

CREATE TABLE NhanVien ( MaNhanVien Nvarchar (50) NOT NULL,

HoTen Nvarchar (50) NOT NULL,

MatKhau Nvarchar (50) NOT NULL,

DiaChi Nvarchar (60) NOT NULL,

Email Nvarchar (50) NOT NULL,

SoDienThoai Nvarchar (50) NOT NULL,

PRIMARY KEY (MaNhanVien)

);

4. Update table

Các câu lệnh UPDATE được sử dụng để cập nhật bản ghi hiện có trong một bảng.

Cú pháp:

UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;

5. Drop table

Các câu lệnh DROP TABLE được sử dụng để xóa một bảng

Cú pháp:

DROP TABLE table_name;

Ví dụ:

Drop table HoaDon;

Xóa bảng hóa đơn trong DB quanlybanhang;

6. Alter table

Các câu lệnh ALTER TABLE được sử dụng để thêm, xóa, hoặc sửa đổi các cột trong một bảng hiện tại.

Cú pháp:

ALTER TABLE table_name MODIFY COLUMN column_name datatype

Ví dụ:

ALTER TABLE NhanVien MODIFY COLUMN MaNhanVien INT

Sửa cột MaNhanvien từ kiểu Nvarchar sang kiểu integer.

Hoặc :

ALTER TABLE NhanVien DROP COLUMN DiaChi

Xóa cột DiaChi của bảng Nhân viên

Hoặc:

ALTER TABLE NhanVien ADD NgaySinh date

Thêm cột địa chỉ vào bảng Nhân viên

Hoặc:

ALTER TABLE NhanVien ALTER COLUMN NgaySinh year

Chuyển data type của cột ngày sinh từ kiểu date sang kiểu year.

(Còn tiếp)