본문 바로가기

개인공부/SQL 첫걸음8

8장 - 데이터베이스 설계 34. 데이터베이스 설계 데이터베이스 설계 데이터베이스의 설계 : 데이터베이스의 스키마 내에 테이블 / 인덱스 / 뷰 등의 데이터베이스 객체를 정의하는 것 스키마 내에 정의한다는 의미로 스키마 설계라고도 함 테이블을 설계할 때는 테이블 정의서나 설계도 등의 문서를 작성하는 경우가 많음 테이블 정의서는 DESC명령에 따라 표시되는 결과를 그대로 옮겨적은 것이라 봐도 무방하며, 어느 열이 기본키인지를 지정하는 경우도 있음 하나의 테이블에 두 개의 이름을 지정할 때도 있음 물리명 : 데이터베이스에서 실제로 사용되는 이름 CREATE TABLE에 지정 데이터베이스 시스템 규칙에 따라 길이나 공백 사용금지등의 제약이 따르며 전통적으로 알파벳을 사용해 이름을 지정하며 약자로 붙이는 경우도 많음 논리명 : 테이블의 .. 2023. 3. 29.
7장 - 복수의 테이블 다루기 31. 집합 연산 SQL과 집합 데이터베이스에서는 테이블이 집합, 테이블의 행이 요소에 해당함 SELECT 명령으로 반환되는 결과 전체를 하나의 집합이라고 생각할 수 있음 UNION으로 합집합 구하기 합집합을 계산할 경우에는 UNION 키워드를 사용함 SELECT * FROM 테이블1 UNION SELECT * FROM 테이블2; 위와 같은 형식으로 사용하며, 각 SELECT의 실행결과로 나타나는 집합을 합집합으로 계산하여 최종적인 결과를 반환함 이 때 SELECT 명령의 열의 내용은 서로 일치해야 합집합 연산을 실행할 수 있음 단, 전체 데이터를 반환하는 *를 쓰지 않고 열을 따로 지정하여 집합의 요소가 될 데이터를 서로 맞춰줄 경우 UNION 연산을 실행할 수 있음 나열 순서는 결과에 영향을 주지 않.. 2023. 3. 29.
6장 - 데이터베이스 객체 작성과 삭제 25. 데이터베이스 객체 처음 RDBMS 소프트웨어를 설치하면 데이터베이스는 비어있는 상태임 사용자는 여기에 테이블 / 뷰 / 인덱스 /프로시저 등의 데이터베이스 객체를 작성해 데이터베이스를 구축 데이터베이스 객체 데이터베이스 객체 : 테이블 / 뷰 / 인덱스 등 데이터베이스 내에 정의하는 모든 것 테이블의 경우 행과 열이 저장되는 등 객체의 종류에 따라 데이터베이스에 저장되는 내용도 달라짐 SELECT, INSERT 등은 데이터베이스 내에 존재하는 것이 아니므로 객체라 부를 수 없음 객체는 이름을 가지며, 객체의 종류와 관계없이 중복되지 않아야 하고 임의의 규칙에 맞게 지정해야함 기존 이름이나 예약어와 중복되지 않아야 함 숫자로 시작할 수 없음 언더스코어(_) 이외의 기호는 사용할 수 없음 한글을 사용.. 2023. 3. 29.
5장 - 집계와 서브쿼리 20. 행 개수 구하기 - COUNT SQL은 데이터베이스라 불리는 데이터 집합을 다루는 언어 집합의 개수나 합계 등을 구할 때 집계함수인 COUNT / SUM / AVG / MIN / MAX 등을 사용할 수 있음 집계함수는 인수로 집합을 지정하기 때문에 집합함수라고도 불림 COUNT로 행 개수 구하기 COUNT : 인수로 주어진 집합의 개수를 반환 SELECT COUNT(*) FROM 테이블명의 형태로 사용 * : 모든 열을 나타낼 때 사용하는 메타문자, COUNT에 사용시 테이블 전체라는 의미로 사용 인수로 지정된 집합의 개수를 계산함 집계함수는 집합으로부터 하나의 값을 반환하므로 WHERE구의 유무와 관계없이 하나의 행만을 결과값으로 반환함 집계함수와 NULL값 COUNT의 인수로 열명을 지정시 해.. 2023. 3. 29.