[DB] 관계형 데이터 베이스 Mysql 속성 사용하기

나옹·2022년 12월 22일
0

★★★★

  1. 서버-네트워크 구조

  2. IP

인터넷에서 사용하는 주소 체계

ISP 업체(인터넷 서비스를 제공하는 곳)(LG,KT,SK)가 네트워크 구성해놓고 서버는 회선을 할당받고 사용한다

-IPv4

o.o.o.o 하나의 옥텟당 256개의 번호가 들어가기 때문에 8비트 필요

옥텟이 4개이기 때문에 총 32비트 필요

IPv4로 표현할 수 있는 IP의 경우의 수는 2의32승

전세계의 모든 IP를 표현하기엔 IPv4가 고갈되어 새로 나온 것이 IPv6

-IPv6 옥텟이 총 6개이기 때문에 48비트 필요, 2의 128승개를 표현 가능

-공인IP isp업체에서 직접 비용을 지불하여 사용

-사설IP 공유기에 연결되어 무료로 사용

사설 IP는 특정 건물 내부적으로만 사용하는 IP. 장소가 다른 곳에서 각각의 사설 IP를 사용한다면 IP주소 중복 가능하다

  1. TCP, UDP

FRONT END-사용자에게 화면제공, 서버에게 화면 요청

BACK END-처리

-웹서버-서버의 자료만으로 처리가능 ★★★

-WAS서버-DB의 자료가 필요★★★

★★★★


DATABASE

클라이언트 서버 DB

DB는 실시간 접근 공유가 가능하다

서버컴

-CPU 주요기능 처리

-RAM CPU가 처리할 자료제공(실행중인 프로그램)

-HDD (많은 자료저장)

과제 개별 손코딩-조별토론-최종

1.직원정보 저장

직원은 아이디가 문자 8글자

이름은 10글자

비밀번호 4글자

create database human;

use human;

create table member;

id varchar(8),

name varchar(10),

pw varchar(4)

);

2.물건을 저장하는 시스템

database: goodsArea

물건은 아이디가 있고 숫자 4자리이다.+유일하다

이름이 있고 10자리까지 가능+반드시 입력

수량이 있고

등급이 있고 문자 1개, 기본값 A

create database goodsArea;

use goodsArea;

create table goods(

id varchar(4) unique,

name varchar(10) not null,

cnt int,

grade varchar(1) default 'A'

);

DBMS

1.실시간 접속 2.실시간 변화 3.공유데이터

관계형 데이터 베이스: Mysql, oracle, maria

1.테이블(릴레이션)

-생성(create)

-(테이블전체)삭제(drop)

-(속정)수정(alter)

속성을 삭제할때는 drop이 아닌 alter 사용 drop은 테이블 전체를 삭제하는 것이기 때문에 잘 사용하지 않고, 주의하여 사용

테이블을 정의하는 명령어(DDL)-create, alter, drop

튜플을 조작하는 명령어(DML)- insert, update, select, delete

2.속성(컬럼,필드)

-숫자(int)

마이너스 숫자도 표현해야 하기 때문에

**더하기 빼기가 필요한 상황이 아니라면 숫자라도 문자로 취급가능(ex. 아이디가 숫자 4자리일 경우는 문자로 취급 가능 그러나 수량같은 경우는 숫자로만 취급 가능)

-문자(char(고정길이), varchar(가변길이))

char는 cpu가 처리하기 쉬워 빠르게 가능하고

varchar 는 메모리를 덜 사용하는 장점이 있다

보통 varchar로 사용한다.

-시간

속성의 제약조건

not null(반드시 입력), default(기본값), unique(유일), key

defalut값이 숫자라면 그냥 숫자 이어서 쓰기 문자라면 따옴표 앞뒤로 붙여주기

3.튜플

데이터베이스내의 주어진 목록과 관계있는 속성값의 모음

생성한 테이블 표를 확인하고 싶다면 desc 테이블명;

문제

아이디(최대 4글자), 이름(최대 10글자)인 표에 10개의 튜플이 있을때 최대로 사용하는 용량은??

아이디는 최대 4바이트, 이름 최대 10바이트로 한 튜플당 최대 14바이트 사용하므로 10튜플시 140바이트

아스키코드를 참고하여 숫자를 문자로 바꿔준다

문제 1. 다음 테이블을 만드세요.(필수)

게시판

글번호 -숫자, 글번호 중복 금지

작성자- 10글자, 반드시 입력

제목 -20글자

조회수- 숫자 기본값 0

  • 다음 문제를 해결하시오.(응용)
  1. 작성자가 20글자 가능하도록

  2. 게시날짜 속성 추가-년월일시분초 형식저장

  3. insert문 검색 후 튜플 1개 저장하기

create table borad(

number int unique,

writer varchar(10) not null,

title varchar(20),

hits int default 0

);

alter table borad modify column writer varchar(20) not null;

** 수정시 alter table 테이블명 modify column 속성명 조건;

기존에 있던 제약조건이 사라지고 새로운 조건으로 바뀌기 때문에 그대로 변경하지 않고 그대로 사용할 조건이 있다면 그것도 다시 적어주어야 한다

alter table borad add column date datetime;

** 속성 추가시 alter table 테이블명 add column 속성명 조건;

insert into borad(number,writer,title,hits,date)

values('1234','skduddl','glaemfdj','1',now());

insert into borad(number,writer,title,date)

values('2222','skek','anjdyd',now());

테이블 확인하기 select * from 테이블명

수정시 alter table 테이블명 modify 속성명 조건;

기존에 있던 제약조건이 사라지고 새로운 조건으로 바뀌기 때문에 그대로 변경하지 않고 그대로 사용할 조건이 있다면 그것도 다시 적어주어야 한다

profile
최고의 개발을 위해 !

0개의 댓글