1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận học phần cơ sở dữ liệu nâng cao thiết kế cơ sở dữ liệu hệ thống phần mềm spotify

30 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế cơ sở dữ liệu hệ thống phần mềm Spotify
Tác giả Trần Tuấn Anh, Trần Phỳ Yờn, Trần Lõm Hoàng, Nguyễn Tắn Phỳ
Người hướng dẫn Thầy Huỳnh Phước Danh
Trường học Trường Đại học Văn Lang
Chuyên ngành Cơ sở dữ liệu nâng cao
Thể loại Tiểu luận học phần
Năm xuất bản 2023
Định dạng
Số trang 30
Dung lượng 1,63 MB

Cấu trúc

  • e Song (14)
    • IV. CHUAN HYA DU LIEU (18)
      • 3. ữuy trGnh chuẩn hóa dữ liệu (19)
    • V. LUQC DO GUAN HE (ENTITY-RELATIONSHIP DIAGRAMI (22)
  • ON PRIMARY ( NAME = (24)
  • FILENAME = SIZE = 20MB, (24)
  • FILEGROWTH = 1MB )› (25)
  • VIL KET LUAN (28)
    • VIII. TAI LIEU THAM KHAO (29)
  • BANG PHAN CONG (30)

Nội dung

Tuy nhiên, sau tất cả những trải nghiệm tuyệt vời đó, có một hệ thống phức tạp phía sau, một cơ sở đữ liệu đề quản lý hàng triệu bài hát, thông tin nghệ sĩ và danh sách phát của người dù

e Song

CHUAN HYA DU LIEU

1 Khai niém Chuẩn hóa dữ liệu (Data NormalizationÍ là một quá trình quan trọng trong quản lý cơ sở dữ liệu, nhằm tối ưu hóa câu trúc dữ liệu để đảm bảo tính nhất quán và tránh các vấn đề liên quan đến sự lặp lại dữ liệu Đây là một phần quan trọng trong thiết kế cơ sở dữ liệu để đảm bảo dữ liệu được lưu trữ và truy xuất một cách hiệu quả Các dạng chuẩn hóa cơ bản

2 Các dạng chuẩn hóa cơ bản ® 1NE(First Normal Form - Dạng chuẩn hóa 1Í: o_ Mợi ô trong bảng phải chứa một giá trị duy nhất (không có giá trị lặp lại) ©_ Các cột phải có tên riêng biệt o_ Các giá trị trong mỗi cột phái thuộc vào một tập giá trị nguyên thuỷ (atomic values) ¢ 2NF (Second Normal Form - Dang chuẩn hóa 2Í: o Dam bao rang bang da o dang INF o_ Tất cả các cột không phải là phần của khóa chính (non-prime attributes) phải phụ thuộc vào tất cả các khóa chính (prime attributes) ¢ 3NF(Third Normal Form - Dạng chuẩn hóa 3Í: o_ Đảm bảo rằng bảng đã ở dạng 2NF o_ Loại bỏ su phy thuéc chirc nang (transitive dependency) Cy thé, néu A phu thudc vao B va B phy thudc vao C, thi A khéng nén phy thuộc vào C ¢ BCNF (Boyce-Codd Normal Form - Dạng chuẩn hóa BCNFI: o_ Đảm bảo rằng bảng đã ở dạng 3NF o_ Mọi hàm phụ thuộc không xuất hiện trên khóa chính

3 ữuy trGnh chuẩn hóa dữ liệu ® - Xác định các bang cơ sở dữ liệu ®© Xác định khóa chính của mỗi bảng ® Áp dụng các quy tắc của dạng chuân hóa tương ứng (1NE, 2NF, 3NF, BCNF) để đảm bảo rằng mỗi bảng đạt được dạng chuân hóa mong muốn ® Tạo các bảng phụ nếu cần thiết để loại bỏ các phụ thuộc không mong muốn,

ONE FOR ALL 15 © Kiểm tra lại mối quan hệ giữa các bảng đề đảm bảo tính nhất quán và hiệu suất truy cập

Quan hệ ko có thuộc tính đa Chuyển tất cả quan hệ lặp hoặc đa trị 1 trị và quan hệ lặp thành 1 quan hệ mới

: ` ` Tách thuộc tính phụ thuộc 1 phần thành Phụ thuộc ; 5 1 phân vào thuộc lược đồ mới, đảm bảo quan hệ với lược Này, Hi on Pp” 2 tính khóa đô liên quan on

Phụ thuộc ẩn, tồn tại phụ thuộc 3 hàm giữa các thuộc tính ko phải Tach các thuộc tính đó thành lược đồ mới là khóa

Hình IƯ-9 Quy trình chuẩn hóa © M6 hGnh ban dau:

Admin (admin_id, email, name, phone, website_id) Website (website_id, website name, website_url) Product (product 1d, order 1d, website 1d, produect_ name, product_status) Customer (customer_id, contact, address, name)

Payment (id payment, amount, date, method, customer_id) Order (order_id, quantity, date, price, order id details, customer_id) Order _ details (oder_ details id, address cus, total_ amount, date, quantity, oder_id) ¢ First Normal Form (INEÍ:

Admin (admin_id, email, name, phone, website_id) Website (website_id, website name, website_url)

Product (product 1d, order 1d, website 1d, produect_ name, product_status) Customer (customer_id, contact, address, name)

Payment (id payment, amount, date, method, customer_id) Order (order_id, quantity, date, price, customer_id) Order _ details (oder_ details id, address cus, total_ amount, date, quanlity, oder_id) ¢ Second Normal Form (2NFI:

Admin (admin_id, email, name, phone) Website (website_id, website name, website_url) Product (product_id, product_name, product_status, website 1d) Order (order_id, quanlity, date, price, customer_id)

Order_details (oder_ details id, address cus, total_ amount, date, quantity, oder_id) Order Product (order_id, product_id)

Customer (customer_id, contact, address, name) Payment (id payment, amount, date, method, customer_id) ¢ Third Normal Form (3NFI:

Admin (admin_id, email, name, phone) Website (website_id, website name, website_url) Product (product_id, product_name, product_status, website 1d) Order (order_id, quantity, date, price, customer_id)

Order _ details (oder_ details id, address cus, total_ amount, date, quantity, oder_id)

Order Product (order 1d, product 1d) Customer (customer_id, contact, address, name) Payment (id_ payment, amount, date, method) Product Website (product_id, website_id) a KEtluận

> Chuan hoa dé liéu la qua trình quan trọng trong thiết kế cơ sở dữ liệu, giúp tô chức dữ liệu một cách hợp lý để đảm bảo tính nhất quán, tránh sự lặp lại không cần thiết và giảm thiêu các van đê liên quan đến cập nhật và xóa dữ liệu Có nhiêu câp độ chuẩn hóa, từ INF đến 6NF, mỗi cấp độ đề xuất các quy tắc cụ thể đề đạt được một mức độ chuẩn hóa cụ thể Các bước chuẩn hóa dữ liệu bao gồm xác định bảng, xác định khóa chính, áp dụng quy tắc chuân hóa tương ứng và kiểm tra môi quan hệ giữa các bảng

> Chuân hóa dữ liệu là một phần quan trọng của quá trình thiết kế cơ sở dữ liệu để đảm bảo tính nhất quán, hiệu suất và dễ bảo trì của hệ thống cơ sở dữ liệu.

LUQC DO GUAN HE (ENTITY-RELATIONSHIP DIAGRAMI

STT Tên trường Kiêu dữ liệu Mô tả NullaNot null

1 account id varchar (11) Primary Key Not null

2 usage package varchar (255) Not null

3 payment info varchar (255) Not null

Bang VI-10 Account Diagram e User:

STT Tên trường Kiêu dữ liệu Mô tả NullaNot null

1 user 1d varchar (11) Primary Key Not null

3 gender varchar (10) Not null a name varchar (255) Not null

Bang VI-11 User Diagram ® Artist:

STT Tên trường Kiêu dữ liệu Mô tả NullaNot null

1 artist id varchar (11) Primary Key Not null

Bang VI-12 Artist Diagram e Album:

STT Tên trường Kiéu dữ liệu Mô tả NullaNot null

1 album_id varchar (11) Primary Key Not null

3 genre varchar (255) Not null a year int Not null

(Foreign Key - FK) 5 atist id varchar (11) Liên kết với mã định Not null danh cua nghé si Bang VI-13 Album Diagram e Song:

STT 'Tên trường Kiêu dữ liệu Mô tả NullaNot null

1 song id varchar (11) Primary Key Not null

3 lyrics text Null a length int Not null

(Foreign Key - FK) 6 album id varchar (11) Liên kết với mã định Not null danh cua album Bang VI-14, Song Diagram e Playlist:

| STT | Têntrường | Kiêudữliệu | Mô tả | NullaNot null |

1 playlist 1d varchar (11) Primary Key Not null

Bang VI-15, Playlist Diagram e = PlaylistSongs:

STT Tên trường Kiêu dữ liệu Mô tả NullaNot null

1 playlistSong id varchar (11) Primary Key Not null song id (Foreign Key - FK)

2 varchar (11) Liên kết với mã định Not null danh của Song playlist 1d (Foreign Key - FK)

3 varchar (11) Liên kết với mã định Not null danh cua playlist

Bang VI-16 Playlist Diagram vi AAY DUNG CO SO DU LIEU VOI S@#L SEVER

1 Tao database ¢ Cac lénh co ban:

Tao: CREATE DATABASE SQLSpotify Tao trong vung dir

FILENAME = SIZE = 20MB,

NAME = SQLSp FILENAME = SIZE = 6MB, MAXSIZE = liệu:

FILEGROWTH = 1MB )›

- _ Sứ dụng: USE SQLSpotify - Áóa:DROP DATABASE SQLSpotify

CREATE TABLE Account ( account_id VARCHAR(11) PRIMARY KEY, usage package VARCHAR(255) NOT NULL, payment_info VARCHAR(255) NOT NULL

CREATE TABLE Users ( users_id VARCHAR (11) PRIMARY KEY, password VARCHAR (255) NOT NULL, birthday DATE NOT NULL, name VARCHAR (255) NOT NULL, gender VARCHAR(1@) NOT NULL, email VARCHAR(255) NOT NULL, account_id VARCHAR(11), FOREIGN KEY (account_id) REFERENCES Account(account_id) )3

CREATE TABLE Artist ( artist_id VARCHAR(11) PRIMARY KEY, name VARCHAR (255 ) NOT NULL

CREATE TABLE Album ( album_id VARCHAR(11) PRIMARY KEY, name VARCHAR(255) NOT NULL, genre VARCHAR(5@) NOT NULL, year INT NOT NULL, artist_id VARCHAR(11) NOT NULL, FOREIGN KEY (artist_id) REFERENCES Artist (artist_id) )3

ONE FOR ALL 21 id_song VARCHAR(11) PRIMARY KEY, name VARCHAR(255) NOT NULL, lyrics TEXT NULL, length INT NOT NULL, genre VARCHAR(5@) NOT NULL, album_id VARCHAR(11) NOT NULL, FOREIGN KEY (album_id) REFERENCES Album (album_id)

CREATE TABLE Playlist ( playlist_id VARCHAR(11) PRIMARY KEY, name VARCHAR(255) NOT NULL, length INT NOT NULL, users_id VARCHAR(11), FOREIGN KEY (users_id) REFERENCES Users(users_id) )3

CREATE TABLE PlaylistSong ( playlist_song_id INT IDENTITY(1,1) PRIMARY KEY, playlist_id VARCHAR(11) NOT NULL, song _id VARCHAR(11) NOT NULL, FOREIGN KEY (playlist_id) REFERENCES Playlist (playlist_id),

FOREIGN KEY (song_id) REFERENCES Song (id_song)

- INSERT INTO Account (account_id, usage package, payment_info) VALUES - (1, 'Free', ‘Payment info for Free account'),

- (2, ‘Premium’, ‘Payment info for Premium account' );

INSERT INTO Users (users_id, password, birthday, name, gender, email, account_id)

VALUES (1, 'password123' , '20@@-@1-@1','John Doe', 'Male',

"john.doe@example.com', 1), (2, 'pass456','1995-@6-15','Jane Smith','Female',

INSERT INTO Artist (artist_id, name) VALUES

(1, ‘Hoang Ton'), (2, ‘Bui Anh Tuan'), (3, ‘Hoang Dung");

INSERT INTO Album (album_id, name, genre, year, artist_id) VALUES

(1, 'Yen Concert', 'Pop', 2922, 1), (2, 'Chung Ta', 'Ballad', 2823, 2), (3, 'Doi Nui', 'R&B', 2023, 3);

INSERT INTO Song (id_song, name, lyrics, length, genre, album_id)

VALUES (1, ‘Song 1', ‘Lyrics for Song 1', 246, ‘Pop’, 1), (2, ‘Song 2', ‘Lyrics for Song 2', 220, 'Rock', 2), (3, ‘Song 3', ‘Lyrics for Song 3', 196, ‘R&B’, 3);

INSERT INTO Playlist (playlist_id, name, length) VALUES (1, ‘Playlist 1', 3),

INSERT INTO PlaylistSong (playlist_id, song_id) VALUES

(1, 1), Playlist 1 chứa Song 1 (1, 2), Playlist 1 chứa Song 2 (2, 2), Playlist 2 chứa Song 2 (2, 3); Playlist 2 chứa Song 3 a Truy vân cơ sở dữ liệu

VIL KET LUAN

TAI LIEU THAM KHAO

[3] https://blog vinbigdata org/khai-quat-ve-mo-hinh-du-lieu-quan-he/

[4] https://viblo.asia/p/cac-buoc-chuan-hoa-co-so-du-lieu-co-ban-ROqKLMJmZ7z

[5] https://viblo.asia/p/mo-hinh-quan-he-thuc-the-entity-relationship-model- oOVIYEenlSW

Ngày đăng: 09/09/2024, 16:42

HÌNH ẢNH LIÊN QUAN

Bảng  I1.  Chức  năng phần  mềm - tiểu luận học phần cơ sở dữ liệu nâng cao thiết kế cơ sở dữ liệu hệ thống phần mềm spotify
ng I1. Chức năng phần mềm (Trang 8)
Hình  IH-2.  Mô  hình  thực  thế  kết  hợp  ER - tiểu luận học phần cơ sở dữ liệu nâng cao thiết kế cơ sở dữ liệu hệ thống phần mềm spotify
nh IH-2. Mô hình thực thế kết hợp ER (Trang 9)
Hình  III-3.  Thực  thể Accounf - tiểu luận học phần cơ sở dữ liệu nâng cao thiết kế cơ sở dữ liệu hệ thống phần mềm spotify
nh III-3. Thực thể Accounf (Trang 11)
Hình  HI-5.  Thực  thể Artist - tiểu luận học phần cơ sở dữ liệu nâng cao thiết kế cơ sở dữ liệu hệ thống phần mềm spotify
nh HI-5. Thực thể Artist (Trang 13)
Hình  IH-7.  Thực  thế  Payment - tiểu luận học phần cơ sở dữ liệu nâng cao thiết kế cơ sở dữ liệu hệ thống phần mềm spotify
nh IH-7. Thực thế Payment (Trang 14)
Hình  IH-8.  Thực  thể  Playlist - tiểu luận học phần cơ sở dữ liệu nâng cao thiết kế cơ sở dữ liệu hệ thống phần mềm spotify
nh IH-8. Thực thể Playlist (Trang 15)
Hình  IƯ-9.  Quy  trình  chuẩn  hóa - tiểu luận học phần cơ sở dữ liệu nâng cao thiết kế cơ sở dữ liệu hệ thống phần mềm spotify
nh IƯ-9. Quy trình chuẩn hóa (Trang 20)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN