데이터(Data)
- 데이터는 정보를 나타내는 숫자, 문자, 기호의 집합으로 컴퓨터 또는 디지털 장치에서 처리하고 저장할 수 있는 형태
데이터베이스(DataBase)
- 체계적으로 구성된 데이터의 집합이며, 특정 목적을 위해 조직화되고 관리한다.
- 정보를 효율적으로 저장, 검색, 업데이트, 관리할 수 있는 기술적인 도구와 구조를 제공한다.
- 데이터베이스를 관리할 수 있는 기술적인 소프트웨어를 데이터베이스 관리 시스템(DataBase Management System, DBMS)이라고 한다.
- 데이터 베이스 시스템에서 관계형 데이터베이스 시스템(RDBMS)이 있으며 이는 SQL을 사용하여 데이터를 관리한다.(엑셀 sheet처럼)
SQL
- 데이터베이스 관리 시스템(DBMS)에서 데이터를 관리하기 위해 사용되는 프로그래밍 언어이다.
- 주석문 : #, --, /* */, ''' '''
- 대소문자를 구별하지 않음
- 문자열을 저장할 때 ' '(작은 따옴표)만 사용한다. (파이썬에서 사용할 때 sql을 담아줘야 하는데 그때 " "(큰 따옴표)를 쓰기 위해)
- 데이터베이스 확인 및 생성데이터베이스 선택
- 테이블 생성
- 테이블(Table) : 데이터를 행(recode, row)과 열(column, field)로 스키마에 따라 저장할 수 있는 구조
- 스키마 : 데이터베이스의 구조와 제약조건에 관한 명세를 기술한 집합
- 데이터 타입
1. 숫자형 타입
- tinyint : 정수(1byte) - 범위 : 0 ~ 255
- smallint : 정수(2byte) - 범위 : -32,768 ~ 32,767
- int : 정수(4byte) - 범위 : -2,147,483,648 ~ 2,147,483,647( 약-21억 ~ +21억)
- bigint : 정수(8byte) - 범위 : 약 -900경 ~ +900경
- float : 부동 소수형 데이터 타입(4byte) - 범위 : -3.40E+38 ~ -1.17E-38
- double : 부동 소수형 데이터 타입(8byte) - float보다 double을 쓰는 것이 좋다. - 범위 : -1.22E-308 ~ 1.79E+308
- decimal(길이, 소수) : 고정 소수형 데이터 타입 - 원하는 길이의 소수를 만들어준다.(byte 가변)
decimal(5)인 경우 : -99999 ~ 99999
decimal(5, 1)인 경우 : -9999.9 ~ 9999.9
2. 문자형 타입
- char : 고정 길이 데이터 타입(최대 225byte) - 지정된 길이보다 짧은 데이터를 입력하면 나머지 공간을 채워서 낭비
- varchar : 가변 길이 데이터 타입(최대 65535byte) - 지정된 길이보다 짧은 데이터를 입력하면 나머지 공간은 채우지 않아서 낭비되지 않는다.
- text : 문자열 데이터 타입(최대 65535byte) - 데이터가 많이 필요할 때 사용, 단점은 데이터를 입력하지 않아도 65535byte를 할애한다.
- longtext : 무제한 문자열 데이터 타입
3. 이진 데이터 타입
- binary, byte : char의 형태의 이진 데이터 타입(최대 255byte)
- varbinary : varchar의 형태의 이진 데이터 타입(최대 65535byte)
4. 날짜 데이터 타입
- date : 날짜 : 날짜(년도, 월, 일) 형태의 데이터 타입(3byte)
- time : 시간(시, 분, 초) 형태의 데이터 타입(3byte)
- datetime : 날짜와 시간 형태의 데이터 타입(8byte)
- timestamp : 1970년 1월 1일 0시 0분 0초부터 시작한 ms타입의 시간이 저장(4byte)
- 제약조건(Constraint)
- 데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행되는 검사 규칙을 의미한다.
- not null : null 값을 허용하지 않음, 중복값은 허용
- unique : 중복값을 허용하지 않음, null 값은 허용
- primary key : null 값을 허용하지 않음, 중복값을 허용하지 않음, 테이블에 단 하나만 설정 가능하고, 참조키와 쌍으로 연결할 수 있음
- default : null 값을 삽입할 때 기본이 되는 값을 설정함
- enum : 원하는 범위를 설정하고 해당 범위의 값만 저장 - 권장하지 않음, 내가 원하는 값의 후보군을 적는 것이 좋다.(범위 = 후보군)
- foreign key : 기본키와 쌍으로 연결 - primary key와 연결돼서 작동될 수 있다. 주 테이블의 어떤 column에 primary key를 설정하면 보조 테이블의 foreign key는 주 테이블에 있는 값만 받을 수 있다.
'MySQL' 카테고리의 다른 글
풋살장 예약 프로그램 (1) | 2024.04.02 |
---|---|
Python MySQL연동하기 (0) | 2024.04.01 |
풋살장 예약 관리 시스템 만들기 구상 (0) | 2024.03.28 |
MySQL 문자열 함수와 사용자, 유니온(Union), 서브쿼리(sub Query), 뷰(View) (2) | 2024.03.28 |
Table 활용, SQL 연산자, 데이터의 정규화 (0) | 2024.03.26 |