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 */;