데이터베이스 (27)

반응형

 

Oracle SQL Developer을 사용하여 테이블을 생성, 수정, 삽입, 삭제한다.

Oracle SQL Developer는 소문자와 대문자를 가려 쓰지 않으며, 항상 끝에는 세미콜론(;)이 필수다.

 

 

 

릴레이션 구조

 

릴레이션(Relation)이란 데이터들의 표(Table)의 형태로 표현한 것을 이야기 한다.

릴레이션 = 테이블 = 파일

튜플들의 집합으로 하나의 릴레이션에는 동일한 튜플이 저장될 수 없다.

튜플(Tuple)속성(Attribute), 도메인(Domain)으로 구성되어 있다.

 

 

- 튜플(Tuple) = Row = 레코드

: 릴레이션을 구성하는 각각의 행, 속성의 모임.

튜플의 수 = 카디널리티(Cardinality) = 기수 = 대응수

 

- 속성(Attribute) = Column = 필드

: 데이터베이스를 구성하는 가장 작은 논리적 단위(고유하다). 개체의 특성을 기술.

순서들은 관계 없다.

속성의 수 = 디그리(Degree) = 차수

 

- 도메인(Domain)

: 하나의 속성이 취할 수 있는 같은 타입의 원자값들의 집합.

각 컬럼에 들어가야 할 제약 조건

 

 

용어 정리

E.FCodd의 용어 File 시스템의 용어 자주 사용되는 용어
릴레이션(relation) 파일(file) 테이블(table)
속성(attribute) 필드(field) 열(column), 컬럼
튜플(tuple) 레코드(record) 행(row)

 

 

 

테이블 생성

 

 

create table 테이블명 ( 
        속성명 타입(크기) NOT NULL 여부
        , constraint 임의의 이름 primary key(속성명)
        -- 프라이머리키 생성시 가변길이는 최대한 피해야 함. 에러 발생 가능성이 있음.
	);

 

create table employer ( -- 테이블 생성
        empno char(6) not null, --부서번호
        ename varchar2(20) not null, --이름
        dept varchar2(16) not null, --부서명
        tel varchar2(13), --전화번호
        salary number(10), --급여
        constraint pk_employee_salaries PRIMARY KEY (empno) -- 프라이머리 키 생성
    );

 

 

기본키(Primay Key) = 주 키 = 메인 키

: 중복될 수 없는 단일의 값.

대표되는 값.

null 값을 가질 수 없으며 단 하나의 속성만 가질 수 있다.

ex) 학번, 주민번호

 

- 자주 쓰이는 타입

문자 : char(고정길이), varchar2

숫자 : number

날짜 : date

 

+ 한글의 경우 한 글자당 3byte

 

 

- 프라이머리키 생성 여부 확인 방법

더보기

키와 관련된 것은 전부 인덱스에서 확인 가능.

 

사용자명 > 인덱스

 

 

- 속성들의 타입 등등 확인 방법

더보기
사용자명 > 테이블 > 생성한 테이블 더블 클릭

 

열, 데이터 등등 확인 가능

 

 

 

테이블 조회

 

 

select * from 테이블명;

 

select * from employer; -- 테이블 조회

 

 

 

테이블 수정

 

 

alter table 테이블명 add (속성명 타입(크기) NOT NULL 여부); -- 필드 추가
alter table 테이블명 modify (속성명 타입(크기)); -- 속성 수정

 

alter table employer add (address varchar2(50) not null); -- address 필드 추가
alter table employer modify (dept varchar2(20)); -- 부서명의 크기 16이었던 것을 20으로 변경

 

 

 

데이터 삽입

 

 

insert into 테이블명 (속성명1, 속성명2, 속성명3, 속성명4, 속성명5, 속성명6)
    values( 데이터1, 데이터2, 데이터3, 데이터4, 데이터5, 데이터6);

 

insert into employer (empno, ename, dept, tel, salary, address)
    values('100', '김기훈', '영업부', '010-8422-8117', 300, '대전광역시 서구 둔산로31번길 31');
insert into employer (empno, ename, dept, tel, salary, address)
    values('101', '홍성범', '기획부', '010-7562-3217', 350, '대전광역시 서구 계룡로29번길 50');
insert into employer (empno, ename, dept, tel, salary, address)
    values('102', '이만수', '기획부', '010-5562-6677', 500, '대전광역시 중구 대사로30번길 10');
insert into employer (empno, ename, dept, tel, salary, address)
    values('103', '강나미', '영업부', '010-4442-5614', 350, '대전광역시 중구 선화로10번길 30');
insert into employer (empno, ename, dept, tel, salary, address)
    values('109', '민병철', '총무부', '010-2542-8211', 250, '대전광역시 동구 산내로1205번길 24');

 

속성 순서에 맞는 데이터를 기입해야 한다.

순서를 바꿀 시 데이터의 순서도 바꿔야 하며 속성 순서가 기존과 같다면 속성명 기입을 생략해도 된다.

 

숫자가 아닌 경우 작은 따옴표(' ')로 감싸야 한다.

 

 

 

테이블 확인

 

 

테이블을 클릭하여 생성된 테이블들을 확인한다.

테이블이 확인되지 않을 시 테이블에 오른쪽 마우스 클릭 > 새로고침 하여 확인한다.

 

 

 

데이터, 테이블 삭제

 

데이터 삭제 후 조회

 

테이블 삭제 후 조회

 

delete from 테이블명;
drop table 테이블명;

 

delete from employer; -- 데이터 삭제
drop table employer; -- 테이블 삭제

 

테이블을 삭제 후 데이터 조회시 오류가 발생한다.

 

반응형
반응형

 

Oracle SQL Developer 사용 전 설정할 것 

 

1. Win키 + R 를 누를 시 아래와 같은 실행창을 띄운다.

 

1, 2

 

2. 실행창에 cmd를 입력한다.

 

2, 3, 4

 

 

sqlplus sys/java@localhost:1521 as sysdba

 

3. 위의 코드를 입력하여 Oracle DB에 접속한다.

4.1. create user 유저명 identified by 패스워드; 로 유저를 생성, 패스워드를 결정한다.

4.2. alter user 유저명 identified by 패스워드; 로 유저명의 패스워드 변경

 

5

 

5. grant connect, resource to 유저명; 으로 유저에 접속, 객체 및 데이터 조작 권한을 부여한다.

 

6

 

6. exit 으로 cmd 창을 끈다.

 

 

 


 

Test

 

Oracle SQL Developer 를 사용하여 테스트한다.

 

1

 

1. + 버튼을 클릭해 Oracle을 접속한다.

 

2, 3, 4

 

2. Name과 사용자 이름에 유저명을 입력, 비밀번호 또한 아까 설정한 비밀번호로 입력한다.

3. 테스트 버튼을 눌러 상태 : 성공이 뜨는지 확인한다.

4. 접속 버튼을 눌러 접속한다. 

 

5

 

5. 조회하여 테스트 해본다.

 dual 테이블은 오라클에서 제공해주는 기본 테이블이기에 테스트에 사용하였다.

 

 

문제 없이 작동된다면 설정 완료!

 

 

 


 

 

 

뷰 권한 부여

 

1. Win키 + R 를 누를 시 아래와 같은 실행창을 띄운다.

 

1, 2


2. 실행창에 cmd를 입력한다.

 

2, 3

 

sqlplus sys/java@localhost:1521 as sysdba

 

3. 위의 코드를 입력하여 Oracle DB에 접속한다.

 

4

 

4. grant create any view to 유저명; 로 view 생성 권한을 부여한다.

 

5

 

5. exit 으로 cmd 창을 끈다.

 

 

SQL Developer에서 view가 생성된다면 설정 완료!

 

 

 

객체 및 데이터 조작 권한 부여

 

1. Win키 + R 를 누를 시 아래와 같은 실행창을 띄운다.

 

1, 2


2. 실행창에 cmd를 입력한다.

 

2, 3

 

sqlplus sys/java@localhost:1521 as sysdba

 

3. 위의 코드를 입력하여 Oracle DB에 접속한다.

 

4

 

4. grant connect, resource to유저명; 으로 객체 및 데이터 조작 권한을 부여한다.

필요하다면 사용자를 추가로 생성하여도 된다.

 

5

 

5. exit 으로 cmd 창을 끈다.


오류가 뜨지 않는다면 설정 완료!

 

 

반응형
반응형

 

컴퓨터(Computer)

 

복잡한 계산을 빠른 시간에 수행할 수 있는 장치

하드웨어소프트웨어 두 종류로 나뉜다. 

 

 

 

하드웨어

 

 

CPU, 램, 하드디스크, HDD, SSD 등 으로 구성되어 있다.

 

 

소프트웨어

 

소프트웨어 중 운영체제(Operation System)라는 것이 있다.

운영 체제는 아래와 같은 식으로 사용된다.

사용자는 일반 사용자를 말한다.

응용 프로그램은 PPT와 같은 프로그램을 말한다.

운영 체제는 windows10, Mac Os와 같은 것을 말한다.

 

그 외 운영체제의 종류는 아래와 같다.

네트워크 쪽에서는 windows나 Linux를 주로 사용한다.

 

 

 

프로그램(Proagram)

 

컴퓨터가 수행할 명령어들의 집합프로그램이라고 한다.

프로그램을 수행하여 데이터를 표현하기 위해 사용하는 기호를 코드라고 한다.

코드들을 이용하여 프로그램을 작성하는 걸 코딩이라고 하며 프로그래밍(Programming)이라고 한다.

프로그래밍으로 먹고 사는 사람을 프로그래머(Programmer)라 칭한다.

 

- 컴퓨터 언어

ex) 기계어, 어셈블리어, COBOL, FORTRAN, C, C++, C#, Visual Basic, PowerBuilder, ASP, PHP, Java, Phython 등

기계어 : 0, 1

ASP, PHP : 웹에서 사용. ASP는 윈도우 환경에서 쓰임, PHP는 리눅스와 MS 환경에서만 쓰임

COBOL: 데이터 베이스의 일종. 관계형인 기존 데이터 베이스와 달리 계층형임

 

 

 

데이터베이스(Database)

 

데이터베이스란 파일 형태로 흩어져 있는 데이터, 정보들을 하나로 모아 놓은 것을 말한다. (= 데이터의 집합)

 

- 데이터베이스 특성

1. 실시간 접근

2. 계속적인 변화

3. 동시 공유

4. 내용에 의한 참조

: 데이터 참조 시 주소나 위치가 아닌 데이터 내용으로 데이터를 찾음

 

 

 

데이터 처리 시스템

 

- 일괄 처리 시스템 (batch processiong system)

: 데이터를 모아서 작업 처리하는 시스템

마감 처리한다 라고 함

ex) 입시처리 시스템, 공과금 처리 시스템

 

-오프라인 처리 시스템(off-line processing system)

: 특정 작업 처리 도중 저장 데이터에 접근할 수 없는 시스템

ex) 교통수단, 우편

 

- 온라인 처리 시스템(on-line processiong system)

: 작업 처리 중 데이터에 접근하여 사용할 수 있는 시스템

작업 처리 요구 발생 시 즉시 처리.

ex) 은행 업무 시스템, 좌석 예약

 

- 중앙집중 처리 시스템(centralized processing system)

: 중앙 컴퓨터에 데이터를 집중시켜 처리하는 시스템

 

- 분산 처리 시스템(distributed processing system)

: 데이터를 분산시켜 처리하는 시스템

서버를 여러개 두며 시스템을 분산처리 되게 만듦.

부아가 잘 걸리지 않음.

ex) 전국적 규모의 공과금 처리 업무

 

- 파일 관리 시스템(file management system)

: 파일의 생성, 검색 등을 조작할 수 있는 소프트웨어 시스템

엑셀 파일로 생각하면 편함.

 

 

파일 관리 시스템의 문제점

1. 데이터 중복

2. 데이터 불일치

3. 응용 프로그램이 파일의 형식 종속

4. 프로그래밍 언어 마다 파일의 형식이 다름

 

 

 

데이터베이스 관리 시스템

 

DBMS(Database Management System)는 데이터베이스를 관리하는 소프트웨어다.
데이터 관리 시스템의 문제점을 해결하기 위해 만들어졌다.
ex) ORACLE, SQL Server, My SQL 등
+ DBMS를 컨트롤 하는 언어를 SQL이라고 한다.

- DBMS 장점
1. 데이터 중복이 줄어듬
2. 데이터 불일치를 피할 수 있음
3. 독립성 유지
4. 데이터 형식 표준화
5. 접근의 보안무결성 유지가 용이
+데이터 무결성(완전성)이란 모든 데이터가 얼마나 완전하고, 일관되며, 정확한지를 나타냄
정확성(중복이나 누락 없는 상태), 일관성(원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태), 유효성(요구하는 규격에 맞게 입력되어야 함)

- DBMS 단점
1. 비용발생
2. 파일관리 시스템보다 상대적으로 속도가 느림

 

크기에 따른 데이터베이스 분류
· 개인용 데이터베이스
· 워크그룹 데이터베이스
· 부서 데이터베이스
· 전사적 데이터 베이스(ERP)  ex) 토탈 전산 시스템

 

ERP

 

 

 

트랜잭션

 

트랜잭션이란 작업의 기본 단위로 데이터 일관성을 보장하는 최소 단위를 말한다. (하나의 작업 단위)

( = 목적을 위해서 서버에 다녀온 것)

입력(insert), 수정(update), 삭제(delete) 등이 되어야 트랜잭션이라고 할 수 있다.

select의 경우 update와 같은 경우 트랜잭션이라고 할 수 있다.

 

- 트랜잭션의 제어문

commit : 변경 확정 후 종료

rollback : 변경 사항 취소 후 종료

savepoint : rollback을 어디까지 할 건지 지정

 

- 트랜잭션의 특징

원자성(Atomicity) : 전부 실행되던지 말던지

일관성(Consistency) : 실행 전 문제 없다면 후에도 문제 없어야 함

고립성(Isolation) : 다른 트랜잭션의 영향으로 문제 발생하면 안 됨

지속성(Durability) : 성공적으로 수행 완료되었다면 시스템이 고장나더라도 영구적으로 반영되어야 함

 

반응형
1 ··· 6 7 8 9