Hệ quản trị cơ sở dữ liệu quan hệ MySQL - MySQL RDBMS
Lượt xem: 14359
Hệ quản trị cơ sở dữ liệu quan hệ MySQL - MySQL RDBMS
RDBMS là gì?
RDBMS là viết tắt của Hệ thống quản lý cơ sở dữ liệu quan hệ. (Relational Database Management System).
RDBMS là một chương trình được sử dụng để duy trì cơ sở dữ liệu quan hệ.
RDBMS là cơ sở cho tất cả các hệ thống cơ sở dữ liệu hiện đại như MySQL, Microsoft SQL Server, Oracle và Microsoft Access.
RDBMS sử dụng các truy vấn SQL để truy cập dữ liệu trong cơ sở dữ liệu.
Bảng cơ sở dữ liệu là gì?
Bảng là một tập hợp các mục nhập dữ liệu có liên quan và nó bao gồm các cột và hàng.
Một cột chứa thông tin cụ thể về mọi bản ghi trong bảng.
Bản ghi (hoặc hàng) là từng mục nhập riêng lẻ tồn tại trong một bảng.
Xem lựa chọn từ bảng "Customers":
CustomerID |
CustomerName |
Phone |
Address |
City |
1 |
Nguyễn Văn Nam |
0123456789 |
57 Hoàn Kiếm |
Hà Nội |
2 |
Phương Hà An |
098987654321 |
2222 Sơn La |
Sơn La |
3 |
Lan Anh |
098987654322 |
2312 Đà Lạt |
Đà Lạt |
4 |
Dương Thế Nam |
098987654323 |
120 Bắc Giang. |
Bắc Giang |
5 |
Trần Phong Ba |
098987654324 |
Số 8/45 Hải Phòng |
Hải Phòng |
Các cột trong bảng "Customers " ở trên là: CustomerID, CustomerName, Phone, Address và City. Bảng có 5 bản ghi (hàng).
Cơ sở dữ liệu quan hệ là gì?
CustomerID |
CustomerName |
Phone |
Address |
City |
1 |
Nguyễn Văn Nam |
0123456789 |
57 Hoàn Kiếm |
Hà Nội |
2 |
Phương Hà An |
098987654321 |
2222 Sơn La |
Sơn La |
3 |
Lan Anh |
098987654322 |
2312 Đà Lạt |
Đà Lạt |
4 |
Dương Thế Nam |
098987654323 |
120 Bắc Giang. |
Bắc Giang |
5 |
Trần Phong Ba |
098987654324 |
Số 8/45 Hải Phòng |
Hải Phòng |
Mối quan hệ giữa bảng "Customers" và bảng "Orders" là cột CustomerID
Bảng Orders
OrderID |
CustomerID |
EmployeeID |
OrderDate |
ShipperID |
10278 |
5 |
8 |
2020-08-12 |
2 |
10280 |
5 |
2 |
2020-08-14 |
1 |
10308 |
2 |
7 |
2020-09-18 |
3 |
10355 |
4 |
6 |
2020-11-15 |
1 |
10365 |
3 |
3 |
2020-11-27 |
2 |
10383 |
4 |
8 |
2020-12-16 |
3 |
10384 |
5 |
3 |
2020-12-16 |
3 |
Mối quan hệ giữa bảng “Orders” và bảng “Shippers” là cột ShipperID:
Bảng Shippers
ShipperID |
ShipperName |
Phone |
1 |
Giao Hàng Tiết Kiệm |
024 6688 2571 |
2 |
ViettelPost |
024 6260 2600 |
3 |
Vietnam |
024 3768 9346 |
Tài liệu tham khảo: https://www.w3schools.com/mysql/mysql_rdbms.asp
Link tải slide tại đây
Script sql:
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Cơ sở dữ liệu: `shop_dandev`
--
-- --------------------------------------------------------
--
-- Cấu trúc bảng cho bảng `customers`
--
CREATE TABLE `customers` (
`CustomerID` int(11) NOT NULL,
`CustomerName` varchar(255) DEFAULT NULL,
`Phone` varchar(50) DEFAULT NULL,
`Address` varchar(255) DEFAULT NULL,
`City` varchar(150) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Đang đổ dữ liệu cho bảng `customers`
--
INSERT INTO `customers` (`CustomerID`, `CustomerName`, `Phone`, `Address`, `City`) VALUES
(1, 'Nguyễn Văn Nam\r\n', '0123456789', '57 Hoàn Kiếm\r\n', 'Hà Nội\r\n'),
(2, 'Phương Hà An\r\n', '098987654321', '2222 Sơn La\r\n', 'Sơn La\r\n'),
(3, 'Lan Anh\r\n', '098987654322', '2312 Đà Lạt\r\n', 'Đà Lạt\r\n'),
(4, 'Dương Thế Nam\r\n', '098987654323', '120 Bắc Giang.\r\n', 'Bắc Giang'),
(5, 'Trần Phong Ba\r\n', '098987654324', 'Số 8/45 Hải Phòng\r\n', 'Hải Phòng');
-- --------------------------------------------------------
--
-- Cấu trúc bảng cho bảng `orders`
--
CREATE TABLE `orders` (
`OrderID` int(11) NOT NULL,
`CustomerID` int(11) DEFAULT NULL,
`EmployeeID` int(11) DEFAULT NULL,
`OrderDate` datetime DEFAULT NULL,
`ShipperID` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Đang đổ dữ liệu cho bảng `orders`
--
INSERT INTO `orders` (`OrderID`, `CustomerID`, `EmployeeID`, `OrderDate`, `ShipperID`) VALUES
(10278, 5, 8, '2020-08-12 00:00:00', 2),
(10280, 5, 2, '2020-08-14 00:00:00', 1),
(10308, 2, 7, '2020-09-18 00:00:00', 3),
(10355, 4, 6, '2020-11-15 00:00:00', 1),
(10365, 3, 3, '2020-11-27 00:00:00', 2),
(10383, 4, 8, '2020-12-16 00:00:00', 3),
(10384, 5, 3, '2020-12-16 00:00:00', 3);
-- --------------------------------------------------------
--
-- Cấu trúc bảng cho bảng `shippers`
--
CREATE TABLE `shippers` (
`ShipperID` int(11) NOT NULL,
`ShipperName` varchar(255) NOT NULL,
`Phone` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Đang đổ dữ liệu cho bảng `shippers`
--
INSERT INTO `shippers` (`ShipperID`, `ShipperName`, `Phone`) VALUES
(1, 'Giao Hàng Tiết Kiệm\r\n', '024 6688 2571'),
(2, 'ViettelPost\r\n', '024 6260 2600'),
(3, 'Vietnam\r\n', '024 3768 9346');
--
-- Chỉ mục cho các bảng đã đổ
--
--
-- Chỉ mục cho bảng `customers`
--
ALTER TABLE `customers`
ADD PRIMARY KEY (`CustomerID`);
--
-- Chỉ mục cho bảng `orders`
--
ALTER TABLE `orders`
ADD PRIMARY KEY (`OrderID`);
--
-- Chỉ mục cho bảng `shippers`
--
ALTER TABLE `shippers`
ADD PRIMARY KEY (`ShipperID`);
--
-- AUTO_INCREMENT cho các bảng đã đổ
--
--
-- AUTO_INCREMENT cho bảng `customers`
--
ALTER TABLE `customers`
MODIFY `CustomerID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT cho bảng `orders`
--
ALTER TABLE `orders`
MODIFY `OrderID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10385;
--
-- AUTO_INCREMENT cho bảng `shippers`
--
ALTER TABLE `shippers`
MODIFY `ShipperID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;