[4일차] SQL 필수상식 : 용어, 구조 알아보기
오늘은 4일차! 오늘의 포스팅도 시작합니다~~

오늘 배운것은 바로 SQL을 공부하면서 기본적으로 알아야 하는 용어와 구조! 입니다. 뭐든지 처음 시작할 때 기초 용어를 배우는 것은 거의 100%네요 ㅎㅎㅎㅎ 그렇다면 어떤 용어를 쓰고 어떤 구조로 이루어져 있는지 알아보겠습니다.
그 전에! 한가지만 이야기하고 넘어가 봅시다!
데어터는 유/무형의 형태를 구성하는 요소로 하나 이상의 데이터가 모여 의미있는 형태로 만드는데요. 예를 들어 과일 음료가 있다! 라고 했을 때, 이것은 병뚜껑/유리병/라벨/내용물/크기 등의 속성으로 이루어져 있으며, 또 유리병은 유리재질/투명색 이라는 속성으로 이루어져 있다고 이야기 할 수 있습니다. 이는 사물은 속성을 가진 데이터로 구성된다 라고 볼 수 있습니다. 이해 되셨나요? 그렇다면 본격적으로 용어를 배우러 가보겠습니다!
1. 필드(Field) : 속성값을 부여한 데어터로 형식은 수치(NUMBER), 문자(CHAR/VARCHAR2), 날짜(DATE), 메모 등이 있음
위에서 속성에 대해 이야기 했으니 잘 알겠죠? 여기서 알고 넘어가면 좋은 것은 바로 문자 형식입니다.
문자형식은 'CHAR' 형식과 'VARCHAR2' 형식이 있는데 이 둘의 차이점은 고정 문자열을 저장하는지/ 가변 문자열을 저장하는지 차이입니다. 예를들어, 10 크기를 가진 문자열이 있을 때 5크기의 문자열을 저장한다고 이야기 해봅시다. 이때, 'CHAR' 형식은 5자리 문자열을 저장하고 남은 5자리는 공백으로 가져 크기가 10인 문자열을 저장하는 반면, 'VARCHAR2'는 5자리 문자열을 저장했을 때 남은 5자리는 남겨두지 않고 10 크기를 5로 변경하여 저장합니다. 그렇기 때문에 'VARCHAR2'가 저장 자원을 낭비하지 않고 적게 차지하기 때문에 문자열의 경우 'CHAR' 보다는 'VARCHAR2'를 많이 사용한다는점! 알고 넘어가면 좋겠습니다.
2. 레코드(Record) : 연관된 필드 모음
필드는 위에서 설명했으니 레코드는 무엇인지 알겠죠? 예를 들어 '김자바'라는 레코드가 있을 때 이 '김자바'는 ID/NAME/EMAIL 이라는 필드를 가진 레코드가 될 수 있는거죠. 즉, 김자바의 ID, NAME, EMAIL이라는 정보를 가졌다 라고 볼 수 있습니다.
3. 테이블(Table) : 연관된 레코드들의 모음(=필드들로 이루어진 레코드들의 모임)
테이블은 연관된 레코드로 이루어진 모음이며, 우리가 흔히 알고있는 표 형태라고 생각하시면 됩니다. 표와 동일하게 행(항목)과 열(속성)로 이루어져 있으며 아래와 같이 나타낼 수 있습니다.
ID | NAME | |
1111 | 김자바 | kjava@gmail.com |
2222 | 박자바 | pjava@gmail.com |
4. 정보 : 유무형의 데이터를 통계와 분석 작업을 거쳐 사용자가 필요한 형태로 만든 것
정보는 말 그대로 정보입니다. 3번의 테이블을 분석하여 얻고자 하는 항목들을 가지고 온 것을 바로 정보라고 합니다.
5. 인덱스 : 데이터베이스를 빠르게 조작하기 위한 색인표나 태그
인덱스는 일종의 목차와 동일합니다. 우리가 책의 목차를 보고 찾고자 하는 내용을 빠르게 찾는 것처럼 정보를 검색할 때 쉽고 빠르게 찾기 위해 필요합니다.
6. 기본키(Pk) : 하나의 키로 최소성과 유일성을 만족하는 대상
기본키는 말 그대로 하나의 키로 테이블 당 1개씩만을 가지며, 중복값이나 Null 값을 허용하지 않기 때문에 유일하다고 말할 수 있습니다. 예를 들면 같은 학교 내에 같은 학번을 가진 사람이 존재하지 않는 것 처럼 해당 키로 행들을 구별할 수 있습니다.
7. 외래키(Fk) : 테이블과 테이블 간의 데이터를 참조하여 서로의 관계를 연결
외래키는 기본키와는 달리 여러개를 가질 수 있으며, 참조 관계에서 많이 사용됩니다. 참조될 열의 값은 테이블에서는 기본키로 설정되어 있어야 하기 떄문에 외래키의 경우 참조되는 테이블에서는 기본키와 동일한 키 속성을 가지게 됩니다.
오늘은 SQL을 사용하면서 알아야 할 기본적인 용어와 구조에 대해서 살펴 보았는데요. 오늘 배운 내용이 길지는 않지만 앞으로 남은 기간동안 계속 사용된다는 것을 생각해 본다면 아주 중요한 챕터라고 봐야겠네요. 오늘 배운 용어들은 꼭 잊지 않고 머리속에 넣어놔야겠습니다...
