반응형
개발자가 되고싶은 코린이입니다😊🫶잘부탁드려용
instagram : https://www.instagram.com/_1ruuy_
GitHub - gayulz/StudyHistory: 나의 공부 기록 commit
나의 공부 기록 commit . Contribute to gayulz/StudyHistory development by creating an account on GitHub.
github.com
웹 프로그래밍을 2개로 구분하여 설명하기
2개로 구분짓자면 클라이언트와 서버로 정의할 수 있다
클라이언트가 요청 하고, 서버가 처리하고 응답하는 시스템이다
클라이언트는 웹 브라우저를 사용한다
데이터베이스란 어떤 기능을 수행하는가 ?
1. 데이터를 저장하고 관리한다
2. 데이터는 실시간 공유의 의미가 있다
3. 데이터베이스 시스템에 저장된 데이터는 원격에서 아이디와 비번이 있으면
여러 사용자가 공유 가능하다
데이터베이스를 공유 시 문제는?
보안, 데이터의 무결성 등이 문제가 될 수 있다.
우리가 사용하는 데이터 베이스란 무엇인가 ?
ORCLE 11g
테이블은 무엇인가 ?
관계형 데이터 베이스에서 행과 열로 데이터를 저장하는 단위다.
테이블 생성하는 명령어는 ?
CREATE TABLE [ 테이블이름 ] (컬럼1, 컬럼2, … )
튜플이란 무엇인가 ?
테이블의 각각의 행, 데이터를 구성하는 단위이다
컬럼이란 무엇인가?
테이블의 각 열, 열은 저장할 데이터의 속성을 정의한다
속성이란 무엇인가 ?
컬럼이 가질 수 있는 데이터의 성질
테이블의 저장된 데이터를 조회하는 명령어는?
SELECT [ 조회할 컬럼 ] FROM [ 테이블명 ]
테이블의 구조를 확인하는 명령어는 ?
DESC 테이블명
📌 암기 포인트
데이터 베이스는 테이블 단위로 데이터를 저장한다.
테이블은 행(튜플-데이터단위)과 열(컬럼-데이터 속성)으로 구성된다.
테이블은 컬럼으로 구성된다.
컬럼은 컬럼명 속성으로 설정한다.
속성으 ㅣ종류에는 문자(char, varchar2)와 숫자(int, number) 날짜(timestamp)등이 있다
문자일 경우 ()안에 바이트 수를 적는다, 위에 있는 추가 이론 정리
무결성의 종류
도메인 무결성 / 개체 무결성 / 참조 무결성
제약조건 종류
기본키 primary key
unique / not null / check / default
외래키 foreign key
Null
숫자 0값은 의미가 있다. 아무것도 없다는 의미는 NULL이다.
의미가없는 비워진 쓰레기값

오후 실습
문제 1 .
다음은 철수가 저장한 주민번호 이다. 신뢰 할 수 없는 주민번호는 ?
1) 9700102-1
신뢰 할 수 있고, 없을 수 도 있다
2) 970201-1234567
신뢰할 수 있다
3) 980101-12345678
신뢰할 수 없다
문제 2.
철수는 고객의 정보를 저장할 테이블을 구축한다.
고객의 정보는 id, name, reg_num(주민번호), age(나이)를 저장한다
테이블 이름은 member1이다.
명령문을 작성하시오
create table member1 (
id varchar2(20)
name varchar2(20)
reg_num member(14)
age int
);
컴퓨터에서 문자를 저장하는 방식 중 utf-8을 주로 사용한다
utf-8방식에서 숫자나문자는 저장하는데 1byte가 필요하고
한글은 2byte가 필요하다.
오라클에서 () 안에 숫자만 기입할 경우, byte로 인식 된다
즉 예제에서의 한글 이름은 5자 까지 가능
영문이나 숫자는 10까지 가능하다
실습
테이블을 생성하고 구조를 확인하시오
다음 쿼리를 실행하고 성공하면 성공, 실패하면 실패의 이유를 분석하시오
쿼리1) insert into member1 values ('aaa','hong','970104-1',34)
쿼리2) insert into member1 values ('aaa','kimsu','970104-1234567',34)
쿼리3) insert into member1 values ('bbbbbbbb','kimsu','970104-1234567',34)
쿼리4) insert into member1 values ('bbbbbbbb','김아무게나씨','970104-1234567',34)
쿼리5) insert into member1 values ('bbbb','김아무','970104-1234567','34')
쿼리1) 정상
쿼리2) 정상
쿼리3) 정상
쿼리4) 정상
쿼리5) 비정상
문자는 작은 따옴표 또는 큰 따옴표로 묶어 주나 , 숫자나 날짜는 아무것도 붙히지 않는다.
이중 속성에 정의된 것이 위배되는 것은 도메인 무결성이다..
실습
아이디가 aaa가 인 사람의 나이를 50으로 바꾸세요.
결론 : 아이디가 중복되다 보니, 정확한 데이터를 수정이나 검색하는데 어려움이있다
아이디가 도메인 무결성도 보장하면서 중복도 되지 않게 해보자
TABLE Query
CRAEATE TABLE mumber1 (
id varchar(8) unique ,
name vachar(10) ,
reg_num varchar(14),
age int
);
INSERT Query
쿼리1) insert into member1 values ('aaa','hong','970104-1',34)
쿼리2) insert into member1 values ('aaa','kimsu','970104-1234567',34)
쿼리3) insert into member1 values ('bbbbbbbb','kimsu','970104-1234567',34)
쿼리4) insert into member1 values ('bbbbbbbb','김아무','970104-1234567',34)
쿼리5) insert into member1 values ('bbbb','김아무','970104-1234567','34')
쿼리1-정상 / 쿼리2-비정상 id 유니크위배 / 쿼리3-정상 / 쿼리4-비정상 id 유니크 위배
쿼리5-비정상 / '34'는 숫자형이 아닌 문자형으로 인식된다
다음 샘플 쿼리에맞춰 제약조건을 정리하시오
CREATE TABLE member1(
id varchar(8) unique ,
name varchar(10) not null ,
reg_num varchar(14),
age int default 1
);
insert into member1 values ('aaa','hong','1111',default);
---------------------------------------------------------------정상
insert into member1 values ('aaa','lee','1111',40);
------------------------------------------------- aaa 아이디가 이미 있으므로 unique 위반
insert into member1 values ('bbb',null,'1111',40);
--------------------------------------------------------name 컬럼 제약조건 not null
insert into member1 values ('bbb', ' ', '1111',40);
------------------------------------------------------------ ' ' 은 null로 인식
insert into member1 values ('ccc','kim' , null ,40);
-------------------------------------------------------- reg_num은 not null이 아님
insert into member1 values ('bbb',' ','1111',40);
------------------------------------------------- 공백은 값으로 인식

📝 과제
철수는 상품을 등록하는 테이블을 구축한다.
다음 조건에 맞게 테이블을 만드시오
(주의) 컬럼명과 테이블 명은 영문으로 지정하시오
1.상품의 아이디가 있어야 한다 , 아이디는 4글자
2. 상품명이 있어야 한다, 상품명은 한글로 최대 6글자
3. 상품의 수량이 있어야 한다. 수량은 기본 값이 10개 이다.
4. 상품의 상태가 있어야 한다. 기본값은 양호이다
관리자명이 있어야 한다 , 관리자명은 한글로 최대 3글자
상품명은 반드시 입력해야한다.
아이디는 중복 될 수 없다.
샘플로 상품 2개를 입력하세요
입력된 상품을 모두 확인해 보세요
1. 개체찾기
상품/상품아이디/상품명/수량/상태/관리자명
2. 제약조건 찾기
상품 아이디는 - 4글자 / 한영기재 없음, 8byte로 잡으면 됨 / primary key
상품명 - 한글로 최대 6글자 / 12byte로 잡으면 됨 not null
수량 - 기본값 10개 default
상태 - 기본값 '양호' , check 으로 ('양호', '불량', '폐기')
관리자명 - 한글 최대3글자 / 16byte로 잡으면됨
CREATE TABLE Item (
Item_id varchar2(8) primary key,
Item_name varchar2(12) NOT NULL ,
Item_cnt number(20) default 10 ,
Item_cundistion varchar2(8) default ('양호') check(Item_cundistion IN('양호','불량','폐기')) ,
manager varchar2(12)
);
insert into Item VALUES ('1', '화장품', default, default,'김씨네');
과제
데이터 무결성 종류 3가지
개체무결성 , 참조 무결성 , 도메인 무결성
속성의 종류
varchar2, number, int , varchar , char , timestamp
속성의 제약조건
Unique , Forign key, Primary Key, Not null, check
자동차 번호 관리기 테이블을 생성하시오
자동차 번호는 xx마1234 형식으로 저장하여 중복 될 수 없다 - 가
자동차 소유자의 이름, 이름은 한글로 5글자까지 가능 - 나
자동차년식은 연도 앞자리 4자리만 가능 - 다
벌점, 벌점은 기본값 0점 - 라
가 기능을 증명할 수 있는 예제 쿼리문을 작성하시오.
나 기능을 증빙할 수 있는 예제 쿼리문을 작성하시오.
다 기능을 증빙할 수 있는 예제 쿼리문을 작성하시오
자동차번호 관리기
자동차 번호는 xx마1234 형식으로 저장하며 중복될 수 없다
자동차 소유자의 이름, 이름은 한글로 5글자까지 가능
자동차 연식은 년도 앞자리 4자리만 가능
벌점, 벌점은 기본값 0점
구분, 기본값 소형차
종류, 종류에 입력될 수 있는 값은 suv, rv, 승용, 기타 중에 하나임
입력날짜 시스템이 있는 날짜를 자동으로 입력하게 하며 년월일시분초가 입력된다.
CREATE TABLE CAR (
Car_num varchar2(20) unique ,
Oner_name varchar2(20) ,
Car_year varchar2(4) ,
Penalty int default 0 ,
Car_Distinguish varchar2(15) DEFAULT '소형차' ,
Car_Type varchar(8) check (Car_Type IN('suv', 'rv', '승용', '기타') ),
Car_pop TIMESTAMP DEFAULT sysdate
);
SELECT * FROM CAR;
INSERT INTO CAR VALUES ('가율차','모닝','1991',DEFAULT,DEFAULT,'기타',DEFAULT);
INSERT INTO CAR VALUES ('봉봉','케이파이브','2020',DEFAULT,DEFAULT,'승용',DEFAULT);
upgrade2
8번자동차 소유자의 이름이 한글 6자로 가능하도록 하시오. 단 기존의 테이블을 삭제 하지 않는다.
alter table car_info modify car_user varchar(12);
10. 8번 테이블에서 구분의 컬럼을 제거 하시오.
alter table car_info drop column car_type;
맵
시작점 : 웹프로그램에서 데이터 저장소인 데이터베이스프로그램
데이터 저장 한다 >> 테이블에 저장한다
테이블은 >> 행과 열로 구성이 되어있다. 행은 튜플.. 의미있는 데이터 셋
열은 저장할 데이터의 타입을 정의한다.
테이블을 관리하는 명령어 : create, drop, alter(add-컬럼추가, drop-컬럼삭제, modify는 수정)
>> 열로 내려와서
>> 열을 정의하는 방법은 컬럼명 속성 제약조건
컬럼은 속성에서 정의된 데이터를 저장한다. 이때 제약조건을 통과해야한다.
속성의 종류는 문자(varchar2), 숫자(int, number), 날짜(timestamp)
제약조건의 종류 not null, unique, check, default, primary key, foreign key
튜플을 조적하는 명령어 : select, insert, update, delete
반응형
'📖 Study > 🎈 ᴏʀᴀᴄʟᴇ' 카테고리의 다른 글
2023/09/01 📌 시퀀스란 무엇일까 (0) | 2023.09.10 |
---|---|
2023/08/31 ✏️ 요구분석과 수집방법 (0) | 2023.09.08 |
2023/08/30 🤔 테이블과 부모자식사이 , 너와나의 사이? (1) | 2023.09.08 |
2023/08/29 👀 테이블, 컬럼, 속성, 제약조건을 알아보자 (0) | 2023.09.08 |
2023/08/28 👋 휴먼교육센터 개강시작 (0) | 2023.09.08 |