정보보안공부

DBMS_day11 본문

데이터베이스

DBMS_day11

Steady_sp 2017. 7. 25. 23:25

# 네이버에 엑셀뷰어

 

# ncpa.cpl

 

# NN체크 : NULL허용하지 않겟다.

 

# PK체크 : 중복이 안되게한다.

 

# show tables; <-- 선택 돼 있는 데이터베이스에 테이블에 목록을 출력하는 SQL이다.

 

# select * from memberTBL; <-- 이 쿼리에서 사용 된 *은 모든 컬럼이라는 의미를 갖게 된다.

 

# select memberName from memberTBL; <-- memberTBL의 memberName이라는 컬럼에 데이터만 보인다.

 

# select memberName, memberID from memberTBL; <--

 

# select 쿼리를 사용할 때는 실제 테이블에 컬럼의 만들어진 순서와 다르게 select시킬 수 있다.
그걸 통해 실제 만들어진 테이블과 다른 순서로 출력이 가능하게 된다. 원하는 형태를 만들 수 있다라는 의미이다.

 

# select 쿼리는 조회를 한다라고 표현한다.
-> select 쿼리는 지정한 테이블에 지정한 컬럼에 있는 데이터를 알아낼 수 있는 쿼리이다.
-> 출력의 개념은 프로그램과 연동했을 때 실제로 되지않아서 조회라는 말로 사용

 

# select 쿼리를 사용할 때 where을 붙여 조건을 지정할 수 있다.

 

# select * from memberTBL where memberName;
-> memberTBL에 memberName이라는 컬럼에 값이 김치인 행을 찾아 조회한다.

 

# create schema aaa; <-- aaa라는 데이터베이스를 만드는 쿼리이다.
-> show databases;

 

# drop schema aaa; <-- aaa라는 데이터베이스를 삭제하는 쿼리이다.
-> show databases;

 

# GUI로 하거나 쿼리로 할수있다.

 

# create schema `my DB`; <-- 데이터베이스의 이름에 공백이 포함되있을 때 ` `사용
-> 왠만하면 이름에 공백을 안 넣는게 편하다.

 

# select * from `my DB`.`my Table`;
-> 위 쿼리처럼 데이터베이스 이름이나 테이블 이름에 공백을 포함하고 있으면 select 쿼리를 작성하는 것이 불편하므로 공백 없는 이름으로 작명하는 것이 개발자도 DB 관리자도 편하게 하게 된다.

 

# workbench에서 SQL을 통해 데이터베이스 또는 테이블을 만들었을 때 좌측 화면 목록에 안보이는데 그때는 새로고침 해야한다.

 

# create table `my DB`.testTBL (

 id INT NOT NULL primary key,

    name CHAR(15) NOT NULL,
 age INT

);
-> 위 쿼리는 my DB라는 데이터베이스에 testTBL 이라는 테이블을 생성하는데 테이블에 컬럼이 id, name, age로 생성. id 컬럼은 INT 자료형으로 공백을 허용하지 않고 PK 설정을 진행 한다.

 

# drop table testTBL;
-> 선택 되 있는 데이터베이스에 testTBL이라는 테이블을 삭제

 

# select * from shopDB.memberTBL;
-> 데이터베이스안에 테이블정보가 많으면 조회하는데 시간이 많이걸릴 수도 있다.

 

# 데이터베이스 튜닝 : 데이터베이스의 성능을 최대한 빠를 수 있게 설정하는 작업들을 튜닝한다고 한다.

 

# 데이터베이스 튜닝작업은 이미 데이터베이스가 만들어져 운용되고 있는 상황에서 속도를 개선하기 위해서 튜닝을 진행하게 된다.

 

# 튜닝을 진행할 때 Indexing 작업을 중요시 여긴다.

 

# index(색인) : 책에서 작성하는 목차와 같은 기능이다. 데이터베이스에 어느 데이터가 어디에 있는 지를 기록 해 놓게 된다. 그럼으로써 데이터를 찾아내는 속도가 향상 될 수 있다. select 쿼리에 속도가 빨라진다.

 

# 서적, 책에서 목차를 통해 책 전체 내용 중에 어떤 내용이 어느 페이지에 있는 지를 책 앞부분에 기록 해 놓게 된다. 목차를 작성해 놓는 목적은 내용을 빨리 찾기 위함이다.

 

# create view uv_memberTBL as select memberName, memberAddress from memberTBL
-> show tables;
-> select * from uv_memberTBL;

 
# view ( memberTBL에 있는 것을 보여주는것 )
-> 내가선택한 테이블만 보여주는 가상의 테이블을 만든다.
-> 만들어져 있는 테이블에서 내가 지정한 컬럼들만 보이는 가상의 테이블을 의미한다.
-> 읽기 전용

 

# view 사용 첫번째 목적 : 실제 테이블에 중요한 정보가 저장 되 있는데, 중요 정보는 유출되면 피해를 가져올 수 있어서 중요 정보는 안 보이게 하고 필요한 정보들만 보이게 하기 위해 뷰어를 만들게 된다.

 

# 다수의 테이블을 합쳤을때 뷰어를 이용할 수도 있다.

 

# view 사용 두번째 목적 : 여러 테이블을 하나로 합쳐서 select 하는 상황이 빈번하게 발생할 때 테이블 여러개를 하나로 합쳐 놓은 뷰어를 만들고 그 뷰어를 select 함으로써 보다 간편하게 테이블 여러개 합친 것을 조회할 수 있게 만들기 위함이다.

 

 

-> memberTBL 테이블 생성

 

-> productTBL 테이블 생성

 

-> select * from 을 통해 shopDB 데이터베이스 안에있는 memberTBL 테이블 조회

 

-> shopDB 스키마 안에 memberTBL 테이블 안에 데이터입력

 

-> create 쿼리를 통해 `my DB` 데이터베이스 생성

-> my DB 사이의 띄여쓰기를 사용할때에는 ` `안에 원하는 이름 입력한다.

-> drop 쿼리를 통해 데이터베이스, 테이블 삭제가능

 

-> create 쿼리를 이용해 `my DB`의 testTBL 테이블 생성

 

-> where 쿼리를 사용해 memberName = '김치' 인것을 조회

-> where 쿼리를 사용해 memberID = 'Hong' 인것을 조회

 

 

-> create view 이름 as select 원하는 컬럼 from 테이블이름

-> select * from 만든view이름

-> 원하는 부분만 만들어서 볼수있다. 

'데이터베이스' 카테고리의 다른 글

DBMS_day13  (0) 2017.07.27
DBMS_day12  (0) 2017.07.26
DBMS_day10  (0) 2017.07.24
DBMS_day09  (0) 2017.07.23
DBMS_day08  (0) 2017.07.20
Comments