---
# System prepended metadata

title: CRUD_database
tags: [教案]

---

# 建立資料庫
**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
![image](https://hackmd.io/_uploads/S1JiXv4xA.png)

2.建立table
![image](https://hackmd.io/_uploads/SJfrj1cfC.png)

```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
![image](https://hackmd.io/_uploads/S1JiXv4xA.png)

2. 把 csv 進行import
![image](https://hackmd.io/_uploads/r1Dn7vVgR.png)

3.  建立 table
![image](https://hackmd.io/_uploads/BJaFQv4eC.png)

## 如果要刪掉 schema 
在要刪掉的 schema 點右鍵，選擇 drop schema
![image](https://hackmd.io/_uploads/S1f601cfC.png)



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