+3

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.

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:

  • 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 (100) Địa chỉ
5 Email Nvarchar (50) Không Email
6 SoDienThoai Nvarchar (50) Không Số điện thoại
  • 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ã 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 (100) Địa chỉ
5 Email Nvarchar (50) Email
6 Anh Nvarchar (50) Số điện thoại
7 SoDienThoai Nvarchar (50) Không Số điện thoại
  • 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 (15) Không Mã tin
2 ChuDe Nvarchar (50) Không Tiêu đề
3 NoiDung TEXT (3000) Không Nội dung
4 NguoiDang Nvarchar (100) Người đăng
5 NgayDang DateTime Không Ngày đăng
  • 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, cho chấm theo các thang điểm từ 1-5).

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 BoCuc Int (5) Không Bố cục
2 TienIch Int (5) Không Tiện ích
3 NoiDung Int (5) Không Nội Dung
4 GopY TEXT (1000) Góp ý
  • 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 (5) Không Mã phản hồi
2 HoTen Nvarchar (50) Không Họ tên
3 Email Nvarchar (50)) Không Email
4 ChuDe TEXT (1000) Chủ đề
5 NoiDung TEXT (1000) Nội dung
6 NgayBinh Datetime Ngày bình
  • 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 (5) Không Mã nhà sản xuất
2 TenNSX Nvarchar (150) Không Họ và tên
3 DiaChi Nvarchar (150) Không Địa chỉ
4 HinhAnh Nvarchar (200) Ảnh nhà sản xuất
  • 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 (5) Không Mã sản phẩm
2 MaNSX Int (5) Không Mã nhà sản xuất
3 DonGia Float Không Đơn giá
4 TenSP Nvarchar (200) Không Tên sản phẩm
5 HinhAnh Nvarchar (250) Hình ảnh sản phẩm
6 MiêuTa Nvarchar (250) 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á
  • 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 (5) Không Mã hóa đơn
2 MaNguoiDung Int (5) Không Mã người dùng
3 NgayNhan Datetime Không Ngày nhận hàng
4 DiaChiNhan Nvarchar (200) Không Địa chỉ nhận
5 NgayLap Datetime Ngày lập hóa đơn
  • 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 (5) Không Mã hóa đơn
2 MaSP Int (5) Không Mã sản phẩm
3 SoLuongMua int(5) Không Số lượng mua
4 DonGia Float Không Đơn giá
5 GiamGia Float 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 SCHEMAquanlybanhang;

Để 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 SCHEMAquanlybanhang;

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)


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí