brunch

You can make anything
by writing

C.S.Lewis

by 김큰빛 Sep 30. 2021

[김큰빛의 코드잇 뽀개기]비개발자 SQL데이터 베이스

테이블 생성,Primary key


테이블을 생성하는 방법에는 크게 2가지가 있습니다.


첫 번째는 SQL 문으로 생성하는 방법이고 테이블을 만드는 

두 번째 방법은 CSV 파일을 임포트(import)해서 테이블로 만드는 것입니다.


저는 MySQL Workbench 의 스키마 Table 에서 Table Data Import Wizard로 CSV파일을 Import 하는 방법을 활용했습니다. 쉽게말해 소프트웨어의 마법사 기능으로 데이터 파일을 로딩했다는 뜻입니다.

 

CSV(comma separated value) 파일은 데이터 분석 분야에서 아주 흔하게 사용되는 파일의 형식입니다. 

그리고 현재 많은 회사들이 사용하는 엑셀(Excel)에는 저장된 데이터를 CSV 파일로 추출할 수 있는 기능이 있는데요.

이 말은 곧 엑셀 파일 > CSV 파일 > 테이블

이런 식의 변환을 통해 엑셀 파일로 존재하던 데이터를 SQL로 분석할 수 있다는 뜻이기도 합니다.



지금 각각의 컬럼 오른쪽에 int, text 같은 것들이 써있는데요. 이런 것들은 각 컬럼에 어떤 형식(숫자, 문자열)의 값이 들어갈 수 있는지를 나타냅니다. 이걸 Field Type 또는 Data Type이라고 합니다.

하단 데이터를 보시면 

age(나이), height(키), weight(몸무게)와 같은 숫자는 INT(정수)형의 타입

email(이메일), address(주소) 는 문자형의 TEXT 타입

 birthday, sign_up_day 와 같은 날짜데이터는 DATE 라는 형식 등으로 설정해주면 됩니다.


ex) Integer(INT) = 정수

Double = 소수점까지 가능한 실수형 데이터 타입




Primary Key (기본 값)

- Data Table에서 하나의 row(행)를 고유하게 식별할 수 있도록 해주는 column(열)



Primary Key는 테이블에서 특정 row 하나를 식별하는 역할을 합니다.(식별한다는건 그만큼 대표할 수 있다는 의미이겠죠?)


특정 컬럼을 Primary Key로 설정하면 Primary Key에 같은 값이 있는 row가 추가되는 것을 *DBMS가 자동으로 막아주기 때문에 중복된 row가 생길 위험성이 사라집니다.


*DBMS(DataBaseManagementSystem)컴퓨터에 수록한 자료들을 쉽고 빠르게 추가·수정·삭제할 수 있도록 해주는 소프트웨어



Primary Key의 종류에는 크게 두 가지가 있습니다. 바로 Natural Key와 Surrogate Key인데요.

각각 무엇인지 살펴보겠습니다.



1. Natural Key


실제로 어떤 개체가 갖고 있는 속성을 나타내는 컬럼이 Primary Key가 됐을 때 이를 Natural Key라고 합니다. 사람은 주민등록번호로 특정 인물을 식별할 수 있습니다. 우리가 읽는 책은 ISBN이라고 하는 번호로 특정할 수 있구요. 바로 이런 속성을 나타내는 컬럼이 Primary Key가 되면 Natural Key라고 합니다.

(아까 처음 이미지에서는 id 가 Primary Key로 주로 사용됩니다.)



2. Surrogate Key


이건 Primary Key로 사용하기 위해 인위적으로 생성한 컬럼입니다. 이렇게 어떤 개체의 실제 속성은 아니지만 Primary Key로 쓰기 위해 추가한 컬럼을 Surrogate Key라고 합니다. 이런 Surrogate Key에는 주로 1부터 순차적으로 증가하는 숫자가 들어가게 됩니다.

(학급학생들에게 1번부터 번호를 부여하는 것처럼 인위적으로 쉽게 구분할 수 있는 키를 부여한 것이라고 보시면 됩니다.)



지금까지 데이터 타입을 구분하고 주요 기본 또는 기준이 될 수 있는 키에 대해 알아 봤는데요.

본격적으로 데이터를 다루기 전 전초작업이라고 보시면 됩니다. 미리 형식이나 기준 값등을 구분해 주면 그 이후에 쉽고 빠르게 데이터들을 관리할 수 있기 때문입니다. 




기타 알아둬야 할 사항


1. Null = 값이 존재하지 않는 상태


2. Null은 숫자 0 과 다르다


3. NN=Not Null 이컬럼에 Null이 있으면 안된다 이 컬럼에는 반드시 어떤 값이 들어가야 한다.


4. Primary Key에 Null이 있으면 안된다.




다음 포스팅부터는 본격적으로 SQL기본 쿼리(명령문)에 대해 다뤄보겠습니다.








매거진의 이전글 [김큰빛의 코드잇 뽀개기]비개발자 SQL데이터 베이스
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari