24-1/데이터베이스

오라클 - 간단 스키마 만들기

감잔디 2024. 6. 15. 00:09

교수님께서 프로 야구 구단으로 예시를 들어주신 것에서 아이디어를 얻어

e스포츠로 가닥을 잡았다.

 

lck선수들로 구성했고

DB에 값을 넣기 전에 엑셀에 먼저 큰 그림을 그려놓고 보면서 생성했다.

 

 

# team TABLE 만들기
CREATE TABLE team (
name varchar(10) primary key,
rank integer,
odds numeric(3, 2));

# t1 TABLE 만들기
CREATE TABLE t1 (
name varchar(30) primary key,
age integer,
debut integer);

# hle TABLE 만들기
CREATE TABLE hle (
name varchar(30) primary key,
age integer,
debut integer);

# playler TABLE 만들기
CREATE TABLE player (
name varchar(30) primary key,
wage integer,
team varchar(10));


 

 

# team TABLE에 값 넣기
INSERT into team values ('t1', 2, 0.83);
 

시범적으로 tuple 하나만 넣음.

 

 

# team TABLE에 값 넣기
INSERT into team values ('t1', 2, 0.83);
INSERT into team values ('geng', 1, 0.94);
INSERT into team values ('hle', 3, 0.83);
INSERT into team values ('kt', 4, 0.61);
INSERT into team values ('dk', 5, 0.5);
 

team table 완성

 

 

 

 

// t1 TABLE에 값 넣기

INSERT into t1 values('zeus', 20, 2021);
INSERT into t1 values('oner', 21, 2021);
INSERT into t1 values('faker', 27, 2013);
INSERT into t1 values('gumayusi', 22, ''); // ''는 null을 의미. 최소 2개의 null값 필요
INSERT into t1 values('keria', 21, '');
 

t1 table 완성

 

 

 

// hle TABLE에 값 넣기
INSERT into hle values('doran', 23, '');
INSERT into hle values('peanut', 26, 2015);
INSERT into hle values('zeka', 21, 2020);
INSERT into hle values('viper', '', 2017);
INSERT into hle values('delight', 21, 2020);
 
 
사진 삭제

사진 설명을 입력하세요.

hle table 완성

 

 

 

마지막으로 player 테이블을 완성할건데, 여긴 tuple이 10개라 다중 select문을 작성하였다.

// 기본 형태
INSERT ALL
INTO [table_name] (column_name) values(values)
...
SELECT * FROM DUAL;
 

 

// player TABLE에 값 넣기
INSERT ALL
INTO player (name, wage, team) values('zeus', 50, 't1')
INTO player (name, wage, team) values('oner', 70, 't1')
INTO player (name, wage, team) values('faker', 100, 't1')
INTO player (name, wage, team) values('gumayusi', '', 't1')
INTO player (name, wage, team) values('kerea', 40, 't1')

INTO player (name, wage, team) values('doran', 60, 'hle')
INTO player (name, wage, team) values('peanut', 80, 'hle')
INTO player (name, wage, team) values('zeka', '', 'hle')
INTO player (name, wage, team) values('viper', 30, 'hle')
INTO player (name, wage, team) values('delight', 20, 'hle')
SELECT * FROM DUAL;
 

 

이전과 달리 한 번에 여러 행이 삽입된 것을 볼 수 있다.

player table 완성.

 

참고로 다중 insert문을 사용할 때엔 select문장을 꼭 써줘야 한대서

select * from dual이라는 문장을 집어넣었다.