# 建立資料庫
**1h**
因為只是示範歡迎直接到[這裡](https://github.com/PYH1107/eduproject/tree/main/data)下載已經整理好的資料
但下面也會跟大家分享建立假資料的方法以及所使用的套件
[ToC]
## 繪製你的 ER Diagram
### 資料庫的概念
在資料庫中,「schema」指的是資料庫結構的定義,包括了表格(tables)、欄位(fields)和資料類型等資訊。而「表格」(table)則是存儲資料的容器,由多個欄位組成,每個欄位有其特定的資料類型,表格內的每一行(row)代表一筆資料記錄。
簡而言之,schema 是資料庫的藍圖,而表格是按照這個藍圖建立的實際資料存儲結構。
### ERD 範例
## mySQL workbench 的操作
### method 1
1. 建立 schema

2.建立table

```sql=
-- 1. 创建新的 schema
CREATE SCHEMA `new_schema` ;
-- 2. 切换到新 schema
USE `new_schema` ;
CREATE TABLE SnakeSpecies (
species_id INT AUTO_INCREMENT PRIMARY KEY,
common_name VARCHAR(255) NOT NULL,
scientific_name VARCHAR(255) NOT NULL,
description TEXT,
average_size_cm INT,
average_lifespan_years INT,
conservation_status VARCHAR(255)
);
CREATE TABLE Characteristics (
characteristic_id INT AUTO_INCREMENT PRIMARY KEY,
species_id INT,
temperament VARCHAR(255),
color_pattern VARCHAR(255),
diet_type VARCHAR(255),
habitat VARCHAR(255),
FOREIGN KEY (species_id) REFERENCES SnakeSpecies(species_id)
);
CREATE TABLE CareRequirements (
care_id INT AUTO_INCREMENT PRIMARY KEY,
species_id INT,
temperature_range VARCHAR(255),
humidity_range VARCHAR(255),
enclosure_size VARCHAR(255),
special_requirements TEXT,
FOREIGN KEY (species_id) REFERENCES SnakeSpecies(species_id)
);
CREATE TABLE UserReviews (
review_id INT AUTO_INCREMENT PRIMARY KEY,
species_id INT,
review_text TEXT,
rating INT,
review_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (species_id) REFERENCES SnakeSpecies(species_id)
);
```
### method 2
1. 建立 schema

2. 把 csv 進行import

3. 建立 table

## 如果要刪掉 schema
在要刪掉的 schema 點右鍵,選擇 drop schema

### 示範影片資料夾
[雲端共用](https://drive.google.com/drive/folders/13jVsjn2SZW_4OUCVxNq7g4ehslLeyzhp?usp=sharing)