카테고리 없음

2024.03.25 -10일차

동동순이 2024. 3. 25. 16:33

오늘은 데이터 베이스에 관해 수업을 했다.

 

데이터(data)


데이터는 정보를 나타내는 숫자, 문자, 기호의 집합으로 컴퓨터 또는 디지털 장치에서 처리하고 저장할 수 있는 형태

 

데이터베이스(database)

 


체계적으로 구성된 데이터의 집합이며 특정 목적을 위해 조직화되고 관리

정보를 효율적으로 저장, 검색, 업데이트, 관리할 수 있는 기술적인 도구와 구조를 제공

데이터베이스를 관리할 수 있는 기술적인 소프트웨어를 데이터베이스 관리 시스템이라고 함(database management system)이라고 함.

https://db-engines.com/en/ranking  데이터 베이스 툴 랭킹

데이터베이스 시스템에서는 관계형 데이터베이스 시스템(rdbms)이 있으며 이는 sql을 사용하여 데이터를 관리


 

 

 MYSQL

 

https://dev.mysql.com/downloads/file/?id=526408     sql 다운받는곳

 

MySQL :: Begin Your Download

The world's most popular open source database Contact MySQL  |  Login  |  Register

dev.mysql.com

 

 

SQL(Structured Query Language)

 

 

 

데이터베이스 관리 시스템(DBMS)에서 데이터를 관리하기 위해 사용되는 표준화된 프로그래밍 언어


주석문 : #,--,/**/, '''


대소문자를 구별하지 않음


문자열을 저장할 때 ''(작은 따옴표)만 사용

 

데이터베이스 확인하기

 

show databases;

 

 

데이터베이스 만들기

 

create database kdt;

 

데이터베이스 -> 테이블


테이블 : 데이터를 행(레코드, 로우)과 열(컬럼, 필드)로 스키마에 따라 저장할 수 있는 구조


스키마 : 데이터베이스의 구조와 제약조건에 관한 명세를 기술한 집합
/*
create table 테이블명(
        필드명1 데이터타입 제약조건,
        필드명2 데이터타입 제약조건,
        필드명3 데이터타입 제약조건,
        ...)
*/

 

필드명은 아무이름이나 지어도 괜찮기 때문에 바로 데이터 타입에 대해 알아보자.

 

 

데이터 타입

 

 

1.  숫자형 


 tinyint : 정수(1byte)
 smallint : 정수(2byte)
 int : 정수(4byte), 약-21억 ~ 약21억
 bigint : 정수(8byte)
 float: 부동 소수형 데이터 타입(4byte)
 double: 부동 소수형 데이터 타입(8byte)
 decimal(길이, 소수) : 고정 소수형 데이터 타입

 

 

2. 문자형 타입


 char : 고정 길이 데이터 타입(최대 255byte)
 지정된 길이보다 짧은 데이터를 입력하면 나머지 공간을 채워서 낭비함

 varchar : 가변 길이 데이터 타입(최대 65535byte)
 지정된 길이보다 짧은 데이터를 입력하면 나머지 공간을 채우지 않아 아낄 수 있음


 text : 문자열 데이터 타입(최대 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값을 허용하지 않음, 중복값은 허용
 umique : 중복값을 허용하지 않음, null값을 허용
 primary key : null값을 허용하지 않음, 중복값을 허용하지 않음, 테이블에 단 하나만 설정, 참조키와 쌍으로 연결됨, 인덱싱을 설정  - 기본 키로 설정 해놓으면 참조키(foreign key)에 있는 값과 같아야 한다
 default : null값을 삽입할 때 기본이 되는 값을 설정함
 enum: 원하는 범위를 설정하고 해당 범위의 값만 저장, 권장하지 않음
 foreign key : 기본키와 쌍으로 연결됨

 

 

데이터 베이스 선택하기

 

use kdt;

우리가 만들어놓은 폴더를 지정해준다

 

테이블 만들어보기

 

우리가 배웠던 내용을 토대로 테이블을 만들어보자.

 

create table member(
 userid varchar(20)primary key,
 userpw varchar(20)not null,
 name varchar(20)not null,
 hp varchar(20)unique not null,
 email varchar(50)not null,
 gender varchar(10)not null,
 ssn1 varchar(6)not null,
 ssn2 varchar(7)not null,
 zipcode varchar(5),
 address1 varchar(100),
 address2 varchar(100),
 address3 varchar(100),
 regdate datetime default now(),
 point int default 100
 );member

핸드폰 번호는 겹치는 것이 없기때문에 unique 타입을 썼다.