DB(DataBase)
์ฌ๋ฌ ์ฌ๋๋ค์ด ๊ณต์ ํ๊ณ ์ฌ์ฉํ ๋ชฉ์ ์ผ๋ก ํตํฉ ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ๋ค์ ๋ชจ์ ์ฆ, ๊ด๋ จ๋ ๋ฐ์ดํฐ์ ๋ชจ์
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ 4๊ฐ์ง
- Integrated data(ํตํฉ ๋ฐ์ดํฐ) : ์ค๋ณต ์ต์ํ, ํต์ ๊ฐ ๊ฐ๋ฅํ ์ค๋ณต๋ง ํ์ฉ
- Shared data(๊ณต์ ๋ฐ์ดํฐ) : ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ํจ๊ป ์์ , ์ด์ฉํ ์ ์๋ ๊ณต์ฉ ๋ฐ์ดํฐ
- Operational data(์ด์ ๋ฐ์ดํฐ) : ์กฐ์ง ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ๋ฐ๋์ ํ์ํ ๋ฐ์ดํฐ
- Stored data(์ ์ฅ ๋ฐ์ดํฐ) : ์ปดํจํฐ๊ฐ ์ ๊ทผํ ์ ์๋ ๋งค์ฒด์ ์ ์ฅ๋ ๋ฐ์ดํฐ
ํน์ง
- Continuous evolution ๊ณ์ ๋ณํ : insert, delete, update
- Real-time accessibility ์ค์๊ฐ ์ ๊ทผ์ฑ : ์ฌ์ฉ์์ ๋ฐ์ดํฐ ์๊ตฌ์ ์ค์๊ฐ์ผ๋ก ์๋ต
- Concurrent sharing ๋์ ๊ณต์ : ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ๋์ ์ฌ์ฉ, ๊ฐ์ ๋ฐ์ดํฐ์ ๋์ ์ฌ์ฉ
- Content reference ๋ด์ฉ ๊ธฐ๋ฐ ์ฐธ๊ณ : ์ ์ฅ๋ ์ฃผ์๋ ์์น๊ฐ ์๋ ๋ฐ์ดํฐ์ ๋ด์ฉ, value(๊ฐ)์ผ๋ก ์ฐธ์กฐ
๊ตฌ์ฑ์์
- external schema(์ธ๋ถ ์คํค๋ง) : ๊ฐ์ธ ์ฌ์ฉ์๊ฐ ์ ๊ทผํ๋ DB
- conceptual schema(๊ฐ๋ ์คํค๋ง) : ํตํฉ๋ ์กฐ์ง ์ ์ฒด์ DB
- internal schema(๋ด๋ถ ์คํค๋ง) : ์ ์ฅ์ฅ์น์ ์ ์ฅ์์ DB ์ ์ฒด๊ฐ ์ ์ฅ๋๋ ๋ฐฉ๋ฒ ๋ช ์ธ
⇒ DB๋ ๋ฌด์์ผ๋ก ๊ตฌ์ฑ๋๋ ๊ฐ?
ํ ์ด๋ธ๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
ํ ์ด๋ธ(Table)
๋ฆด๋ ์ด์ , ์คํค๋ง์ ๊ฐ์ ๋ป์ผ๋ก, column(์ด)๊ณผ row(ํ)์ผ๋ก ๊ตฌ์ฑ๋ 2์ฐจ์ ํ์ ํํ
- ํ row == ๋ ์ฝ๋ record == ํฌํ tuple ์ด coliumn == ์์ฑ attribute == ํ๋ field
- ํ ์ด๋ธ == ํ == ์์ ํ์ผ
- ํ == ์นผ๋ผ(์ด, 1์ค) + ๋ก์ฐ(ํ, ์ฌ๋ฌ์ค)
- ์นผ๋ผ == ๋ฒํธ, ์ด๋ฆ, ๋์ด, ์ฐ๋ฝ์ฒ
- ๋ก์ฐ == 1, ํ๊ธธ๋, 24, 010-1234-1234
์ฃผ์ํ ์
- ํ์์ ์นผ๋ผ์ ํ์ค๋ง ์กด์ฌํ๋ค.
- ํ์์ ๋ก์ฐ๋ 0 ~ N์ค ์กด์ฌํ ์ ์๋ค.
์นด๋๋๋ฆฌํฐ(cardnality)
๋ ์ฝ๋(==ํ)์ ๊ฐ์
DBMS(DataBase Management System)
DB๋ฅผ ๊ด๋ฆฌํ๋ ์์คํ
- ํ์ผ ์์คํ ์ ๋ฌธ์ (์ค๋ณต์ฑ, ์ข ์์ฑ)๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ์๋ ์ํํธ์จ์ด
- ์กฐ์ง์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํตํฉํ์ฌ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ค.
- ์๋ฃ์ ํตํฉ์ฑ ์ฆ์ง, ๋ฐ์ดํฐ ์ ๊ทผ์ ์ฉ์ด
- ์ฅ์ : ์ค๋ณต ์ต์ํ, ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ
⇒ MySQL์ DBMS์ด๋ค.
DBMS ์ฃผ์ ๊ธฐ๋ฅ
- definition facility ์ ์ ๊ธฐ๋ฅ : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ฑฐ๋ ์์ ๊ฐ๋ฅ
- manipulation facility ์กฐ์ ๊ธฐ๋ฅ : ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์ญ์ , ์์ , ๊ฒ์ํ๋ ์ฐ์ฐ
- control facility ์ ์ด ๊ธฐ๋ฅ : ๋ฐ์ดํฐ๋ฅผ ํญ์ ์ ํํ๊ณ ์์ ํ๊ฒ ์ ์ง
- ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ ์ ์ง, ๋ณด์ ์ ์ง, ๊ถํ ๊ฒ์ฌ, ๋ณํ ์ ์ด, ์ฌ๋ฌ ์ฌ์ฉ์ ์ ๊ทผ ๊ฐ๋ฅ
SQL
DB์๊ฒ ๋ช ๋ น์ ๋ด๋ฆด ๋ ์ฌ์ฉ๋๋ ๋ช ๋ น์ด
๋ช ๋ น์ด ์ข ๋ฅ
- ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฆฌ์คํ
- SHOW DATABASES;
- ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ, ๋ค๋ฅธ๋ง๋ก ํ๋ฉด ํน์ ํด๋(DB)๋ก ์ ์ ๋ช
๋ น์ด
- USE DB์ด๋ฆ;
- EX : USE mysql;
- USE DB์ด๋ฆ;
- ํ์ฌ ์ ์ํด ์๋ DB์์ ๋ชจ๋ ํ
์ด๋ธ๋ค์ ๋ฆฌ์คํ
- SHOW TABLES;
DB, ํ ์ด๋ธ, ๋ก์ฐ ๋ณ ์กฐํ, ์์ฑ, ์ญ์ , ์์ ๋ช ๋ น์ด
๊ธฐ๋ณธ์ ์ธ SQL ์ ๋ฆฌ
์ข ๋ฅ DB(๋ฐ์ดํฐ๋ฒ ์ด์ค/ํด๋) TABLE(ํ ์ด๋ธ/์์ ํ์ผ) ROW(๋ก์ฐ/์์ ํ์ผ์ ํ ํ)
์กฐํ | SHOW DATABASES; | SHOW TABLES; SHOW TABLES LIKE 'ar%'DESC article; (ํ ํ ์ด๋ธ ์์ ์๋ ์นผ๋ผ๋ค ์กฐํ) |
SELECT id, regDate FROM article WHERE id >= 4 AND title LIKE '์ %' ORDER BY id DESC LIMIT 3; |
์์ฑ | CREATE DATABASE a1; | CREATE TABLE article ( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, regDate DATETIME NOT NULL, title VARCHAR(100) NOT NULL, body TEXT NOT NULL, PRIMARY KEY(id) ); |
INSERT INTO artile SET regDate = NOW(), title = '์ ๋ชฉ1', body = '๋ด์ฉ1'; |
์์ | ์์ | ALTER TABLE article ADD COLUMN hit INT(10); ALTER TABLE article MODIFY COLUMNhit INT(10) UNSIGNED NOT NULL; ALTER TABLE article CHANGE COLUMN hit hitNumber INT(10) UNSIGNED NOT NULL; ALTER TABLE article DROP COLUMN hit; ALTER TABLE article DROP INDEXPRIMARY; ALTER TABLE article ADD PRIMARYKEY(id); |
UPDATE article SET title = '์ธ๊ธฐ๊ธ' WHERE id > 3; |
์ญ์ | DROP DATABASE a1; | DROP TABLE article; | DELETE FROM article; |
'TIL > ๐งฌ DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DB๊ฐ DBMS๋ ๋ค๋ฅธ ๊ฐ๋ ์ธ๊ฐ์? ๊ทธ๋ ๋ค๋ฉด RDBMS๋์? (0) | 2023.03.11 |
---|---|
DML๊ณผ DDL (0) | 2023.03.10 |
Index(์์ธ) (0) | 2023.03.10 |