━━━━ ◇ ━━━━
정보보안실무/데이터베이스

[MariaDB] 스키마(Schema)와 데이터베이스 언어

728x90
반응형

1. 스키마(Schema)

스키마란?

속성(Attribute): 개체의 특성
개체(Entity): 속성들의 집합
관계(Relation): 개체 사이에 존재
위 세 가지가 유지해야 할 제약조건들을 기술한 것이다.
즉,  데이터베이스의 구조와 제약조건에 관해 명세를 기술한 것이라고 할 수 있다. 
쉽게 말하면, 데이터베이스 내에 어떤 구조로 데이터가 저장되는가를 나타내는 구조를 스키마(schema)라고 한다.
use performance_schema;
show tables;
desc user;
select * from user; (user 테이블에서 모든 필드의 항목을 조회하기)
특정 필드를 보기 위해서는 * 대신 필드 이름 넣어주기

 

데이터베이스 생성하기 (기본 캐릭터셋 설정, 문자집합 정렬)
create database Dbtest default character set utf8 default collate utf8_general_ci;
사용자 생성하기
create user ‘yw’@’localhost’ identified by ‘1234’;

 

select user from mysql.user;  (유저 목록 확인하기)
use Dbtest;
현재 Dbtest 디렉토리에 있지만 다른 위치에 있는 항목을 조회하고 싶을 때는 전체 경로를 적어준다.
select user from mysql.user;

 

※참고로 데이터베이스나 사용자를 삭제랄 경우에는 DROP 명령어를 사용한다. 

 

 


2. 데이터베이스 언어

DDL (Data Definition Language - 데이터 정의어)

DML (Data Manufacture Language - 데이터 조작어)

DCL (Data Control Language - 데이터 제어어)

명령어 종류 설명
데이터 조작
(DML : Data Manipulation Language)
SELECT DB에 들어있는 데이터를 조회, 검색하기 위한 명령어(=RETRIEVE)
INSERT
UPDATE
DELETE
DB의 테이블에 들어 있는 데이터에 삽입, 수정, 삭제와 같은 변형을 가하는 명령어
데이터 정의어
(DDL: Data Definition Language)
CREATE
ALTER
DROP
RENAME
TRUNCATE
테이블과 같은 데이터 구조를 정의한다. 생성, 변경, 삭제, 이름변경 명령어들이다. 
데이터 제어어
(DCL: Data Control Language) 
GRANT
REVOKE
DB에 접근하고 객체들을 사용하도록 권한을 주거나 회수하는 명령어
트랜젝션 제어어
(TCL: Transaction Control Language)
COMMIT
ROLLBACK
SAVEPOINT
논리적인 작업 단위를 묶어서 DML에 의해 조작된 결과를 트랜잭션 별로 제어하는 명령어
root계정에 관한 권한 보기
show grants;
아까 만든 yw라는 사용자의 권한 확인하기
show grants for ‘yw’@’localhost’;

 

728x90
반응형
COMMENT