(24)

[MySQL/DB] 뷰(VIEW) 생성하기

뷰(View)란? 데이터베이스에 존재하는 가상테이블을 말한다. 실제의 테이블처럼 행과 열을 가지고 있지만 실제로 데이터를 저장하고 있지는 않다. 다른 테이블이나 다른 뷰에 저장되어 있는 데이터를 보여주는 역할만 수행한다. 뷰를 사용하면 여러 테이블, 뷰를 하나의 테이블처럼 볼 수 있다. 장점 특정 사용자에게 테이블 전체가 아닌 필요한 필드만 보여준다. (보안 측면) 복잡한 쿼리를 단순화해서 사용할 수 있다. 재사용성이 증가한다. 단점 한번 정의된 뷰는 변경이 불가능하다. 삽입, 삭제, 갱신에 많은 제약사항이 있다. 자신만의 인덱스를 가질 수 없다. 일반 테이블보다 검색 속도가 느리다. 사용하기 -- CREATE VIEW 뷰 이름 AS CREATE VIEW 매니저들 AS SELECT E.ENAME, E.E..

[MySQL/DB] 별칭(ALIAS)

컬럼, 테이블, 서브 쿼리, WHERE 절 등에 원하는 별칭을 붙여주는 것이 ALIAS이다. 테이블의 명칭이 너무 길 때 줄여서 사용하면 편리하다. 현재의 SELECT 문장에서만 유효하다. FROM에서 테이블에 설정하면 해당 테이블 ALIAS는 SELECT에서 테이블명 대신 사용할 수 있다. 별칭에 공백이 있다면 ' ', " " 처리해야 한다 예약어 AS가 없어도 별칭을 지정할 수 있다. WHERE 절에서는 사용 불가능하다. ( 쿼리문을 실행할 때 WHERE절이 SELECT절 보다 먼저 실행되기 때문 ) SELECT 컬럼명 AS 별칭 SELECT 함수 AS "공 백 별 칭" SELECT (서브쿼리) AS '공 백 별 칭' -- AS가 없이도 별칭을 지정할 수 있다. SELECT BOY_GROUP AS 보..

[MySQL/DB] DML(데이터 조작어) 명령어 - SELECT, INSERT, UPDATE, DELETE / ORDER BY

[ DML(Data Manipulation Language) - 데이터 조작어 ] 데이터를 조회하거나 삽입, 갱신, 삭제할 수 있다. 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 트랜잭션(Transaction)이라고 하며, DML은 트랜잭션을 다루는 명령어라고 할 수 있다. 데이터의 CRUD를 DML을 통해 수행한다고 할 수 있다. 다음의 테이블로 DML 명령어들을 사용해보자 CREATE TABLE EXAM1( ID INT(5) NOT NULL AUTO_INCREMENT, SUBJECT VARCHAR(20) NOT NULL, CONTENT VARCHAR(20) NOT NULL, CREATE_DATE DATETIME, PRIMARY KEY(ID) ); INSERT 테이블에 새로운 컬럼을 삽..

[MySQL/DB] DDL(데이터 정의어) - 생성(CREATE), 수정(ALTER), 삭제(DROP, TRUNCATE)

[ CREATE (생성) ] DB 생성 MySQL에서는 CREATE문을 사용하여 데이터베이스와 테이블을 만들 수 있다. CREATE DATABASE 데이터베이스이름 해당 데이터베이스를 사용하기 위해서는 USE문을 사용하여 사용할 데이터베이스를 선택해야 한다. USE 데이터베이스이름 테이블을 만들기 위해서 CREATE TABLE 키워드를 사용한다. CREATE TABLE 테이블이름 (컬럼명 데이터타입 조건, 컬럼명 데이터타입 조건, ... ) 테이블 생성 시 주의사항 - 객체를 의미할 수 있는 적절한 이름을 사용해야 한다. - 다른 테이블의 이름과 중복되지 않도록 지정해야 한다. - 한 테이블 내에서는 컬럼명이 중복되게 지정할 수 없다. - 테이블 이름을 지정하고 각 컬럼들은 괄호로 묶어서 지정한다. - ..

MySQL 기본 문법

[ 기본 문법 ] SELECT * FROM EXAM; select * from EXAM; SElecT * FrOM EXAM; 세미콜론을 기준으로 구문을 구분한다 키워드와 구문에서 대문자, 소문자를 구분하지 않는다. 대소문자를 일관되게 사용하는 것이 가독성 측면에서 유리할 것이다. 또한 테이블 명과 필드의 이름은 대소문자를 구분하기 때문에 주의해서 사용하자. # 주석 -- 주석 /* 주석 주석 */ 위의 세 가지 방법으로 주석처리를 할 수 있으며, " -- " 뒤에는 반드시 공백이 한 칸 존재해야 한다. 두 줄 이상의 주석을 사용할 경우 세 번째 방법으로 사용하면 되지만 주석을 원하는 곳을 모두 드래그 한 다음 "Ctrl+/" 을 하는 방법도 있다.

[DB/SQL] 데이터베이스, 관계형 데이터베이스

[ 데이터베이스(Database, DB) ] 데이터베이스란 데이터의 집합이다. 데이터베이스는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리된다. 따라서, 여러 업무에 여러 사용자가 데이터 베이스를 사용할 수 있다. 지금 사용하고 있는 카톡, SNS등의 정보도 모두 데이터베이스에 기록되고 있을 것이다. DB의 특징 사용자의 질의에 대하여 즉각적인 처리와 응답이 이루어진다. 생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지한다. 사용자들이 원하는 데이터를 동시에 공유할 수 있다. 사용자가 원하는 데이터를 주소가 아닌 내용에 따라 참조 할 수 있다. 응용프로그램과 데이터베이스는 독립되어 있으므로, 데이터의 논리적 구조와 응용프로그램은 별개로 동작된다. DBMS(Datab..

[MySQL/DB] 뷰(VIEW) 생성하기

Tech/Database 2023. 1. 7. 21:43
728x90
728x90

뷰(View)란?


데이터베이스에 존재하는 가상테이블을 말한다.

실제의 테이블처럼 행과 열을 가지고 있지만 실제로 데이터를 저장하고 있지는 않다.

다른 테이블이나 다른 뷰에 저장되어 있는 데이터를 보여주는 역할만 수행한다.

뷰를 사용하면 여러 테이블, 뷰를 하나의 테이블처럼 볼 수 있다.

 

장점

특정 사용자에게 테이블 전체가 아닌 필요한 필드만 보여준다. (보안 측면)
복잡한 쿼리를 단순화해서 사용할 수 있다.
재사용성이 증가한다.

 

 

단점

한번 정의된 뷰는 변경이 불가능하다.

삽입, 삭제, 갱신에 많은 제약사항이 있다.
자신만의 인덱스를 가질 수 없다.

일반 테이블보다 검색 속도가 느리다.

 

 

사용하기

-- CREATE VIEW 뷰 이름 AS
CREATE VIEW 매니저들 AS
SELECT E.ENAME, E.EMPNO, E.JOB, D.DEPTNO
FROM EMP E, DEPT D
WHERE E.JOB='MANAGER' AND D.DEPTNO=30;

SELECT * FROM 매니저들;

아래의 SELECT 절을 조회했을 때의 결과

 

 

대체하기 (REPLACE)

기존에 생성했던 뷰를 새로운 뷰로 대체한다.

-- CREATE OR REPLACE VIEW 뷰 이름 AS
CREATE OR REPLACE VIEW 30번부서 AS
SELECT E.ENAME, E.EMPNO, E.JOB, D.DEPTNO
FROM EMP E, DEPT D
WHERE E.JOB='MANAGER' AND D.DEPTNO=30;

SELECT * FROM 30번부서;

조회가 잘 된다.

 

 

 

728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

[MySQL/DB] 별칭(ALIAS)

Tech/Database 2023. 1. 7. 21:23
728x90
728x90

 

 

컬럼, 테이블, 서브 쿼리, WHERE 절 등에 원하는 별칭을 붙여주는 것이 ALIAS이다.

 

  • 테이블의 명칭이 너무 길 때 줄여서 사용하면 편리하다.
  • 현재의 SELECT 문장에서만 유효하다.
  • FROM에서 테이블에 설정하면 해당 테이블 ALIAS는 SELECT에서 테이블명 대신 사용할 수 있다.
  • 별칭에 공백이 있다면 ' ', " " 처리해야 한다
  • 예약어 AS가 없어도 별칭을 지정할 수 있다.
  • WHERE 절에서는 사용 불가능하다. ( 쿼리문을 실행할 때 WHERE절이 SELECT절 보다 먼저 실행되기 때문 )

 

SELECT 컬럼명 AS 별칭
SELECT 함수 AS "공 백 별 칭"
SELECT (서브쿼리) AS '공 백 별 칭'

-- AS가 없이도 별칭을 지정할 수 있다.
SELECT BOY_GROUP AS 보이그룹
  FROM SINGER;
SELECT GIRL_GROUP 걸그룹
  FROM SINGER;

 

-- 예시
-- 직업이 매니저이고, 부서번호가 30인 사람들의 사원명, 사원번호, 직업, 부서번호 조회
SELECT E.ENAME, E.EMPNO, E.JOB, D.DEPTNO
FROM EMP E, DEPT D
WHERE E.JOB='MANAGER' AND D.DEPTNO=30;
728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

[MySQL/DB] DML(데이터 조작어) 명령어 - SELECT, INSERT, UPDATE, DELETE / ORDER BY

Tech/Database 2023. 1. 7. 21:07
728x90
728x90

[  DML(Data Manipulation Language) - 데이터 조작어  ]


데이터를 조회하거나 삽입, 갱신, 삭제할 수 있다.

데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 트랜잭션(Transaction)이라고 하며, DML은 트랜잭션을 다루는 명령어라고 할 수 있다. 데이터의 CRUD를 DML을 통해 수행한다고 할 수 있다.

 

다음의 테이블로 DML 명령어들을 사용해보자

CREATE TABLE EXAM1(
	ID INT(5) NOT NULL AUTO_INCREMENT,
	SUBJECT VARCHAR(20) NOT NULL,
    CONTENT VARCHAR(20) NOT NULL,
    CREATE_DATE DATETIME,
    PRIMARY KEY(ID)
);

 

현재 상태의 테이블에 DML 명령어들을 사용해보자

 

 

INSERT

테이블에 새로운 컬럼을 삽입할 때 사용한다.

INSERT INTO EXAM1 VALUES(1, '저녁메뉴추천좀', '냉무', CURDATE());
-- 가능하면 아래의 방법처럼 컬럼의 이름을 항상 적는것이 좋다.
INSERT INTO EXAM1(CONTENT, SUBJECT, CREATE_DATE) VALUES('배고프다', '뭐먹지', CURDATE());

 

 


UPDATE

테이블의 데이터를 수정(변경)할 때 사용한다.

UPDATE EXAM1
SET SUBJECT = '저녁사실먹었음'
WHERE ID = 1;

 

 

DELETE

WHERE절을 사용하지 않으면 모든 데이터가 삭제된다.

DELETE FROM EXAM1
WHERE ID=1;

 

 

 

SELECT

생성되어 있는 테이블에서 원하는 값을 조회할 때 사용한다.

-- Asterisk(*) 기호를 사용하여 해당 테이블의 모든 필드를 선택할 수 있다.
 SELECT *
   FROM 테이블명

-- WHERE절의 조건을 사용하면, 선택할 튜플의 조건을 상세히 설정 가능하다.
SELECT 필드이름
  FROM 테이블이름
 WHERE 조건

 

-- BETWEEN a AND b : a 이상 b 이하의 값을 출력
SELECT * 
  FROM EMP
 WHERE SAL BETWEEN 800 AND 2450;

-- IN : IN 안의 값과 일치하는 데이터 출력
SELECT *
  FROM EMP
 WHERE EMPNO IN(7900, 7934);
 
-- LIKE : 문자 형태로 일치하는 데이터 출력 - 종류가 많아 따로 정리하겠다.
-- EMP 테이블에서 'K'라는 문자가 들어있는 사원 정보 조회
SELECT *
  FROM EMP
 WHERE ENAME LIKE "%K%";
 

-- IS NULL : NULL값을 가진 데이터를 출력
-- NOT between a and b : a와 b 사이에 없는 데이터를 출력
-- NOT IN(LIST) : LIST값과 일치하지 않는 데이터를 출력
-- NOT LIKE : 문자형태와 일치하지 않는 데이터를 출력
-- IS NOT NULL : NULL값을 갖지 않는 데이터를 출력

 

 

또한 SELECT 문의 마지막ORDER BY 절을 통해 정렬이 필요한 데이터를 정렬할 수 있다.-- ASC(오름차순), DESC(내

-- ASC : 오름차순, DESC : 내림차순
SELECT *
  FROM EMP
 ORDER BY EMPNO(ASC, DESC)
 
-- ALIAS 사용
SELECT SAL+COMM AS TOTAL
  FROM EMP
 ORDER BY TOTAL;
 
-- 컬럼의 숫자 사용
-- ( 2번째 열을 기준으로 정렬하기 )
SEELCT COMM
  FROM EMP
 ORDER BY 2;
 
-- 여러 컬럼을 기준으로 사용
-- ( 3번째 열을 기준으로 오름차순한 후, 1번째 열을 기준으로 내림차순 정렬 )
SELECT *
  FROM EMP
 ORDER BY 3,1 DESC

 

 

 

728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

[MySQL/DB] DDL(데이터 정의어) - 생성(CREATE), 수정(ALTER), 삭제(DROP, TRUNCATE)

Tech/Database 2023. 1. 7. 19:54
728x90
728x90

[  CREATE (생성)  ]


DB 생성

MySQL에서는 CREATE문을 사용하여 데이터베이스와 테이블을 만들 수 있다.

CREATE DATABASE 데이터베이스이름

해당 데이터베이스를 사용하기 위해서는 USE문을 사용하여 사용할 데이터베이스를 선택해야 한다.

USE 데이터베이스이름

 

테이블을 만들기 위해서 CREATE TABLE 키워드를 사용한다.

CREATE TABLE 테이블이름
(	컬럼명 데이터타입 조건,
	컬럼명 데이터타입 조건,
    ...
)

 

테이블 생성 시 주의사항

- 객체를 의미할 수 있는 적절한 이름을 사용해야 한다.
- 다른 테이블의 이름과 중복되지 않도록 지정해야 한다.
- 한 테이블 내에서는 컬럼명이 중복되게 지정할 수 없다.
- 테이블 이름을 지정하고 각 컬럼들은 괄호로 묶어서 지정한다.
- 각 컬럼들은 , 로 구분되고, 테이블 생성문의 끝은 ; 기호로 맺는다.
- 컬럼뒤에 데이터 유형은 꼭 지정되어야 한다.
- 테이블 명과 컬럼 명은 반드시 문자로 시작한다.
- 벤더사마다 사전에 정의한 예약어는 사용 불가능하다.
- A-Z, a-z, 0-9, _, $, # 문자만 허용된다.

 

컬럼에 대한 규칙

- DATETIME 유형에는 별도로 크기를 지정하지 않는다.
- 문자 데이터 유형은 반드시 가질 수 있는 최대 길이를 표시해야 한다.
- 컬럼의 구분은 , 로 하되 마지막 컬럼은 콤마를 찍지 않는다.
- 컬럼에 대해서 CONSTRAINT 를 이용하여 제약조건을 추가 가능하다.

 

 

데이터타입

컬럼에 지정할 수 있는 데이터타입의 종류는 숫자형, 문자, 시간형 등이 있고 대표적인 것만 정리했다.

 

데이터타입 설명
CHAR 고정길이 문자열 / CHAR(10) : 10자리 문자열
VARCHAR 가변길이 문자열. 최대 길이를 지정한다.
INT 정수타입 / tinyint < smallint < int < bigint
DECIMAL 숫자에 사용 / 소수점 저장이 가능
DATE 날짜에 사용 / YYYY-MM-DD 형태

 

 

제약 조건

데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행되는 검사 규칙이다.

CREATE, ALTER에 사용 가능하다.

 

제약조건 설명
NOT NULL NULL을 허용하지 않을 때
UNIQUE 중복 값을 허용하지 않을 때
PRIMARY KEY 기본 키를 지정할 때 사용하며 테이블 당 한 개의 기본키만 생성 가능 / NOT NULL+ UNIQUE
FOREIGN KEY 외래 키를 지정할 때
DEFAULT 값이 없이 입력됐을 때 디폴트에 지정된 값으로 입력
CHECK 특정 조건에 맞는 데이터만 입력받고 싶을 때
INDEX 인덱스를 지정할 때
AUTO_INCREMENT 해당 필드의 값을 1부터 시작하여 새로운 레코드가 추가될 때마다 증가된 값을 저장

 

 

테이블 생성

CREATE DATABASE EXAM;

USE EXAM;

CREATE TABLE EXAM1(
	ID INT(5) NOT NULL AUTO_INCREMENT,
    CONTENT VARCHAR(30) NOT NULL,
    CREATE_DATE DATETIME,
    PRIMARY KEY(ID)
);

-- 만약 동일한 테이블을 추가로 생성하고 싶다면 아래와 같이 작성하면 된다.
CREATE TABLE EXAM2 AS
SELECT * FROM EXAM1 WHERE 1=2;

기본 키(PK)값이 ID인 EXAM1 테이블을 생성했다.

 

 

 

[  ALTER (수정)  ]


ALTER문을 사용하여 데이터베이스와 테이블의 컬럼을 추가, 삭제 및 변경할 수 있다.

사용되는 키워드는 다음과 같다

 

키워드 설명
ADD 테이블의 컬럼을 추가
DROP 테이블의 컬럼을 제거
MODIFY 기존 컬럼의 데이터 타입이나 위치 변경
CHANGE 기존 컬럼의 이름과 데이터 타입을 변경
RENAME TO 테이블의 이름 변경

 

CHANGE, MODIFY에 의해 데이터 타입이 변경될 때 데이터의 손실이 발생할 수 있다.

 

 

추가하기

ALTER TABLE EXAM1 ADD COLUMN SUBJECT VARCHAR(20) NOT NULL;
-- FIRST, SECOND, THIRD, BEFORE, LAST등을 사용하여 순서 지정 가능.
ALTER TABLE EXAM1 ADD COLUMN SUBJECT VARCHAR(20) NOT NULL AFTER `ID`;

 

 

삭제하기

ALTER TABLE CUSTOMER DROP COLUMN SUBJECT;

 

 

변경하기

-- ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입
ALTER TABLE EXAM1 MODIFY COLUMN CONTENT INTEGER;
ALTER TABLE EXAM1 MODIFY COLUMN CONTENT INTEGER AFTER CREATE_DATE;

-- ALTER TABLE 테이블명 CHANGE 기존컬럼명 변경할컬럼명 데이터타입
ALTER TABLE EXAM1 CHANGE COLUMN CONTENT CONTINENT VARCHAR(20);

-- ALTER TABLE 테이블명 RENAMTE TO 변경할테이블명;
ALTER TABLE EXAM1 RENAME TO EXAM3;

 

 

삭제하기

-- 컬럼 제거
ALTER TABLE EXAM1 DROP COLUMN CONTINENT;

 

 

[  DROP, TRUNCATE (삭제)  ]


DROP : 데이터베이스와 테이블을 삭제할 수 있다.

TRUNCATE : 테이블의 데이터만을 지우고 싶을 때 사용한다.

-- DROP
DROP DATABASE DB이름
DROP TABLE 테이블이름

-- TRUNCATE
TRUNCATE TABLE 테이블이름
-- IF EXISTS 절을 사용해 삭제하려는 DB나 테이블이 존재하지 않을 때
-- 발생하는 에러를 미리 방지할 수 있다.
DROP DATABASE IF EXISTS DB명
DROP TABLE IF EXISTS 테이블명

 

 

728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

MySQL 기본 문법

Tech/Database 2023. 1. 7. 11:39
728x90
728x90

[  기본 문법  ]


SELECT * FROM EXAM;
select * from EXAM;
SElecT * FrOM EXAM;

세미콜론을 기준으로 구문을 구분한다

키워드와 구문에서 대문자, 소문자를 구분하지 않는다.

대소문자를 일관되게 사용하는 것이 가독성 측면에서 유리할 것이다.
또한 테이블 명과 필드의 이름은 대소문자를 구분하기 때문에 주의해서 사용하자.

 

 

# 주석
-- 주석
/* 주석
   주석 */

위의 세 가지 방법으로 주석처리를 할 수 있으며, " -- " 뒤에는 반드시 공백이 한 칸 존재해야 한다.

두 줄 이상의 주석을 사용할 경우 세 번째 방법으로 사용하면 되지만 주석을 원하는 곳을 모두 드래그 한 다음 "Ctrl+/" 을 하는 방법도 있다.

 

 

 

728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

[DB/SQL] 데이터베이스, 관계형 데이터베이스

Tech/Database 2023. 1. 7. 11:15
728x90
728x90

[  데이터베이스(Database, DB)  ]


데이터베이스란 데이터의 집합이다.

 

데이터베이스는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리된다.

따라서, 여러 업무에 여러 사용자가 데이터 베이스를 사용할 수 있다.

지금 사용하고 있는 카톡, SNS등의 정보도 모두 데이터베이스에 기록되고 있을 것이다.

 

 

DB의 특징

  • 사용자의 질의에 대하여 즉각적인 처리와 응답이 이루어진다.
  • 생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지한다.
  • 사용자들이 원하는 데이터를 동시에 공유할 수 있다.
  • 사용자가 원하는 데이터를 주소가 아닌 내용에 따라 참조 할 수 있다.
  • 응용프로그램과 데이터베이스는 독립되어 있으므로, 데이터의 논리적 구조와 응용프로그램은 별개로 동작된다.

 

 

DBMS(Database Management System)

데이터베이스를 관리하고 운영하는 소프트웨어이다.

대표적으로 MySQL, 오라클(Oracle), Maria DB등이 있다.

여러 명의 사용자나 응용 프로그램과 공유되고 동시에 접근이 가능해야 한다.

 

아래의 예시처럼 DBMS 덕에 예금주, 직원, 인터넷 뱅킹, ATM 기기에서 동시에 접근이 가능하다.

출처 : https://hongong.hanbit.co.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-databasedb-dbms-sql%EC%9D%98-%EA%B0%9C%EB%85%90/

 

 

 

SQL(Structured Query Language)

데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 언어이다.

 

속성 설명 명령어
DDL
(Data Definition Language)
데이터베이스나 테이블 등을 생성, 삭제하거나 그 구조를 변경하기 위한 명령어 CREATE, ALTER, DROP
DML
(Data Manipulation Language)
저장된 데이터를 처리하고 조회, 검색하기 위한 명령어 INSERT, UPDATE, DELETE, SELECT
DCL
(Data Control Language)
데이터의 보안성 및 무결성 등을 제어하기 위한 명령어 GRANT, REVOKE

 

 

관계형 데이터베이스(Relational DBMS, RDBMS)

현재 가장 많이 사용되고 있는 데이터베이스의 한 종류이다.

테이블(table)로 이루어져 있으며, 하나 이상의 행(row)열(column)으로 이루어져 있다.

이 테이블은 키(key)와 값(value)의 관계를 나타낸다.

행(row)은 튜플(tuple), 레코드(Recode)라고도 표현하며
열(column)은 필드(field), 속성(attribute)라고도 표현한다.

 

 

출처 : http://www.tcpschool.com/mysql/mysql_intro_relationalDB

 

 

 

관계형 데이터베이스의 특징

  • 데이터의 분류, 정렬, 탐색 속도가 빠르다.
  • 오랫동안 사용된 만큼 신뢰성이 높고, 데이터의 무결성을 보장해 준다.
  • 기존에 작성된 스키마를 수정하기 어렵고, DB의 부하를 분석하는 것이 어렵다.
  • 데이터의 종속성을 관계(relationship)로 표현한다.
스키마(schema)
자료를 저장하는 구조와 표현법을 정의한 것을 뜻하는 전산학용어이다.
테이블을 디자인하기 위한 청사진이라고 할 수 있다.
테이블의 각 열에 대한 항목과 타입 뿐 아니라, 기본키와 외래키도 나타내야 한다.

 

 

 

 

참조
https://hongong.hanbit.co.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-databasedb-dbms-sql%EC%9D%98-%EA%B0%9C%EB%85%90/

http://www.tcpschool.com/mysql/mysql_intro_relationalDB

 

 

 

728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

방명록