DATABASE

데이터베이스 0624

이상욱1 2015. 6. 24. 11:30

디비안에 데이타는 공유데이타, 통합데이타 , 저장데이타 ,운영데이타  이다


I=P(D)

PROCESSOR -- 함수, 메서드 , 처리기 


처리하는 과정을 프로세싱이라고 부른다 



DATA --데이타 ANALIST


프로세서 - 개발자 


INFORMATION -- 정보 관리자 



데이터 베이스의 특징 

주소값으로 찾아가지 않고 내용으로 찾아간다 

실시간 접근성

지속적인 변환 

동시 공유 


데이터베이스 구조 

1.논리적구조 : 논리적데이터베이스 -> 사용자 입장

2.물리적 구조: 물리적데이터베이스 -> 실제 저장 구조 


DDL --객체(테이블, 뷰 , 시놈 , 사용자 , 트랜젝션)을 조작하는 언어 


ALTER

CREATE

DROP


RENAME 

TRUNCATE -걔와 연결된 객체까지 다 날릴때 사용 



DML- 데이터를 조작하는 언어 

INSERT

UPDATE

DELETE

SELECT(QL 포함)



DCL- 트랜잭션 관리를 위한 언어 

    -REVOKE 권한 준거를 다시 회수하는것

    -GRANT 

    



TCL-(트랜잭션 제어)

COMMIT

Rollback

SavePoint 


트랜잭션 -- 한번 실행된 명령어는 끝날때까지 수행되는 태스크() 

한번 시작한 작업(명령단위)운 반드시 실행 완료 


insert 시에 date 형식에 값 입력시  주의 할점 

insert into emp01 values(3 ,'신영수','2015-06-11',10000);  앞뒤에  ' '   표시 

insert into emp01 values(4 ,'고영영수',sysdate,10000);  insert 시에는 sysdate 를 써주는 경우 


sqlplus sys/change_on_install as sysdba;




grant 는 누군가에게 권한을 주는거니깐  to 이고 

revoke는 누군가로부터 권한을 뺏는거니깐 from 이다.

resource 롤 -- 사용자가 객체(테이블 , 뷰 , 인덱스 ) 를 생성할 수 있도록 시스템 권한을 묶어 놓았습니다.

리소스를 안주고 table 생성할려고 하면  권한이 없어서 생성이 안된다 .


모든 제약조건은 데이터사전에 들어가있다 .


unique(uk) -테이블의 모든 행을 유일하게 식별하는 값을 가진 열 

check(ck) - 참이어야 하는 조건을 지정함 이렇게 지정해놓으면 인서트시 내가 원하는 조건이 아니면 못넣는다 .


해당 테이블 제약 조건 보는것-SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME='EMP01'; 



틀린 부분 ****************************

튜플(row)의 개수는 cardinality 라고 한다 .

data를 자료라고 한다 .

*********************************


프라이머리키 를 넣어서 테이블 생성 할때 

create table emp3(

    no varchar2(10) primary key,

    irum varchar(20) not null

)



계정: student를 새로 생성하여

아래에 나열된 요구에 맞추어 쿼리문을 작성하시고

작업결과물을 캡쳐하여 답글로 제출하여 주세요.


1. student계정 생성 및 권한 부여


2.테이블 생성

EDUCATION 테이블 (

 PID  (PK ) 숫자 3
 학생이름
 학과명
 나이 
 과목ID);


 3. 데이터 입력:  (111,'서강미','컴공',20,' D12'); 
                    (222,'이유미','컴공',20,' D12'); 
                    (333,'지거미','컴공',20,' D12'); 
                    (444,'마개미','컴공',20',' D12');


4. 테이블 수정

 EDUCATION 테이블에 학과명 컬럼을 학과이름으로 수정하여 주십시오.

 EDUCATION 테이블에 과목이름 컬럼을 추가하여 수정하여 주십시오.

컬럼명은 한글이 아닌 논리적인 영문이름으로 지정하여 주십시오.



create user student identified by 123;

 grant connect,resource,create session to student;


create table education(

pid number(3) primary key,

edu_stu_name varchar2(20),

majo_name varchar2(10),

old number(3),

majo_id number(4)

);


insert into education values(111,'서강미' , '컴공' ,'20', 'D12');

insert into education values (222,'이유미','컴공','20','D12');

insert into education values(333,'지거미','컴공','20','D12'); 

 insert into education values(444,'마개미','컴공','20','D12');


alter table education modify (old varchar2(3));

alter table education modify (majo_id  varchar2(3));


alter table education add(e_name varchar2(15));

alter table education rename column majo_name to m_name;