Wep 서버
Was 서버: 동적 서버
DBMS (Database Managemant System)
-실시간 접근
-동시 공유
-계속적인 변화
DDL
-테이블 관리(create 생성 drop 삭제 alter (속성자체)수정)
DML
-튜플 조작(insert 삽입 select 검색 update (튜플내용)수정 delete 삭제)
**CRUD 작업이라고 부름
create table member(
-> no int,
-> id varchar(4),
-> name varchar(8),
-> point int default 10
-> );
desc member;
insert into member value(1,'aaa','kim',30);
select * from member;
select no,id from member;
select no as '번호‘,id from member;
insert into member value(2,'bbb','Lee',default);
select * from member;
insert into member(no,id,name)values(3,'ccc','park');
select from member;
select from member where id='aaa';
select from member where no<2;
표시한 부분의 명령어의 뜻을 이해하기
문제 1. point가 10이상인 member 출력 , 출력 형태
번호
포인트
select as no '번호‘,point from member where point>10;
문제 2. update member set point=300; 위 명령문은 모든 사람의 포인트를 300으로 저장한다. id가 ccc인 사람의 포인트만 300으로 갱신
update member set point=300 where id='ccc';
문제 3. aaa인 사람의 정보를 지워라
delete from member where id='aaa';
문제 4. ccc의 point를 500, no를 900으로 수정
update member set point=500,no=900 where id='ccc';
명령에서 = 의 사용법
대입 연산자-B를 A에 반영
비교 연산자-참, 거짓 판별
Key
튜플을 식별하기 위한 식별자
속성에 Key라는 식별을 부여
종류: 슈퍼키, 후보키, 기본키(primary key), 대체키, 외래키
슈퍼키-유일성 (ex, (id)(주민번호)(id,주민번호)(id,주민번호,이름).....
후보키-유일성, 최소성-슈퍼키 중에서 최소성의 조건을 만족한 것들이 후보키 (id)(주민번호)
기본키-유일성, 최소성-후보키 중에서 기본키로 사용할 것을 지정
(ex. 기본키는 노출이 쉽게 되기 때문에 주민번호와 같은 중요한 정보로는 사용하지 않는다.(id)로 지정)
대체키-유일성, 최소성-기본키로 정해지지 않고 남은 후보키(ex.(주민번호))
외래키
-기본키
null값을 가질 수 없다. (id는 비울 수 없다)
유일하게 튜플을 구분(한가지만 선택)
튜플을 찾는 속도가 빨라질 수 있다(index를 형성해준다)
**기본키 설정 해보기
mysql> create table member2(
id varchar(4) primary key,
name varchar(8),
jumin varchar(13) not null
);
만약 하나의 속성만으로는 기본키의 기능이 떨어지는 경우 두 개의 속성을 하나의 기본키로 묶는 경우도 가끔 있다.
mysql> create table member2(
id varchar(4),
name varchar(8),
jumin varchar(13) not null,
primary key(id,name)
);
id와 name 각각 기본키라서 기본키가 2개가 되는 개념이 아니라 id와 name이 묶인것이 기본키이다.