---
# System prepended metadata

title: 用SpringBoot架構執行資料庫ＣＲＵＤ操作
tags: [IIIEDU期末專題, ' 作業']

---

# 用SpringBoot架構執行資料庫ＣＲＵＤ操作
老師：
    因為資料庫是用VPS架設的，所以專案可以直接執行、瀏覽。

## 流程：
1. 進入[首頁(http://localhost:8080/SpecialTopic/)](http://localhost:8080/SpecialTopic/)
2. 選擇[登入(http://localhost:8080/SpecialTopic/login_page)](http://localhost:8080/SpecialTopic/login_page)(<font color="green">Read</font>)或[註冊(http://localhost:8080/SpecialTopic/registerPage1)](http://localhost:8080/SpecialTopic/registerPage1)(<font color="green">Create</font>)，在畫面左上角。[<font color="red">註１</font>]
3. 進入[指定網頁(http://localhost:8080/SpecialTopic/seeteacherclass)](http://localhost:8080/SpecialTopic/seeteacherclass)(網頁按鈕超連結還沒做，請老師複製網址使用)，會出現老師身份會員已建立的課程(<font color="green">Read</font>)，並可透過編輯、刪除按鈕，執行資料編輯(<font color="green">Update</font>)及刪除(<font color="green">Delete</font>)行為[<font color="red">註２</font>]。

- 註１：帳密可用nilm:abcd1234進行登入，或註冊新帳號進行登入
- 註２：目前只有第一筆可成資料(課程)有建齊，操作其他資料會發生錯誤

## 小組名單：
- 40 藍翊家(組長)
- 2  陳聰賢
- 36 李怡靜
- 37 蕭旭峰
- 38 陳宥峻

## SQL語法：
```sql=
-- member
CREATE TABLE members (
    uid int IDENTITY(1,1) PRIMARY KEY not null,
    username varchar(50) not null UNIQUE,
    password varchar(50) not null,
    activate bit not null DEFAULT 1,
);


-- memberDetail
CREATE TABLE memberDetails (
    uid int not null PRIMARY KEY REFERENCES members(uid) ,
    email varchar(30) not null,
    fullname nvarchar(10) ,
    address nvarchar(255) ,
    phone varchar(20) ,
    birthday date not null,
    job nvarchar(20) not null,
);

-- memberRoles
CREATE TABLE member_roles (
    id int IDENTITY(1,1) PRIMARY KEY not null,
    uid int not null REFERENCES members(uid) ,
    role nvarchar(50) not null,
    UNIQUE(uid, role)
);

-- class
create table class(
    cid int identity(1,1)PRIMARY KEY not null,
    title nvarchar(50) not null,
    classType nvarchar(50) not null,
    price int not null,
    photo varbinary,
    uid int not null REFERENCES members(uid)
);

-- classRoles
create table class_details(
    cid int not null PRIMARY KEY REFERENCES class(cid) ,
    descript nvarchar(500) not null,
    needed_tool nvarchar(100) not null,
    stu_reqired nvarchar(100) not null,
    length_min int not null,
    goal nvarchar(200) not null,
    video varchar(100) not null,
);


-- curriculum
create table curriculum(
    cuid int IDENTITY(1,1)PRIMARY KEY not null,
    chapter nvarchar(50) not null,
    videoPath varchar(200),
    cuTitle bit  not null,
    cid int not null REFERENCES class(cid)
);
```




###### tags: `IIIEDU期末專題` ` 作業`