1강은 오리엔테이션으로 대체
관계형 데이터모델 개념
순서 : 1. 개념적 모델링 > 2. 논리적 모델링 > 3. 물리적 모델링
-개념적 모델링
Table의 전단계 : entity(행과 열을 가짐)
attribute(속성 - 열), tuple(행), relationship
-논리적 모델링
어떤 속성(attribute)이 entity에 포함되어야 하는지.
6단계의 정규화 과정 - Table이 분할됨.
업무식별자 - 다른 사람들과 특별하게 구분되는 열의 값.(거의 대부분의 식별자는 인공식별자)
= PK(Primary Key, 식별자)의 특성
단계마다 용어들이 다름.
개념적 -> 논리적 -> 물리적
entity -> relationship -> row
attribute -> tuple -> colum
[관계형 데이터모델]
현재 가장 많이 사용되는 데이터베이스 모델
2차원 Table 구조로 되어있음.
행(column)과 열(row)로 이루어진 Table 형태로 표현.
Structure Query Language(SQL)
한 문장이 여러 개의 절로 구성되고 절 안에는 여러가지 간단한 명령문으로 구성됨.
어떤 데이터를 가져올 것이냐를 정해주는 언어가 SQL임.
자연어에 가까워 배우기 쉬운 문법.
SQL은 절차적 언어(ex. C언어)의 특징을 가지고 있지 않음. (변수, 제어문, 반복문 등 없음) - 비절차적 언어임.
=> 보완하기 위해 PSQL이 나옴.
SELECT 어떤 열을 보여주는가
FROM 어떤 테이블에서 가져오는가
WHERE 조건
varchar - 데이터 잔여 공간을 스스로 조정해주는 데이터타입
<릴레이션(Relation)>
<튜플(tuple)>
<속성(attribue)>
<도메인(domain)>
<키의 필요성>
객체를 없애는 것 = drop , 객체 안의 데이터를 없애는 것 = delete
[실습]
View : Select문을 실행시켰을 때 나오는 화면
Package : 사용자가 만들어 쓰기 어려운 부분을 이미 만들어서 제공해주는 것
연산자의 종류
-- : 그 줄만 주석
/* */ : 범위 지정 주석
~(필드) : 자바에서 1의 보수를 구하는 연산자
@ : at
&(엔퍼센드) : and
*(아스트릭스) : all *
||(파이프) : 들어온 그대로
/(슬러시)
\(역슬러시)
Oracle에서의 명령은 반드시 세미콜론(;)으로 끝나야 한다.
계정명에 특수문자 되도록 쓰지 말기.
계정 : 오라클에서 접속권한을 가진 사용자
. 계정명, 암호, 권한 속성을 부여
(사용형식)
CREATE USER 계정명 IDENTIFIED BY 암호명;
권한 : 계정이 수행할 수 있는 행위정의 -> GRANT 명령으로 사용
. CONNECT, RESOURCE, DBA
CONNECT - 데이터베이스 접속권한, RESOURCE - 자원사용권한, DBA - 데이터베이스 관리자권한
. GRANT 명령 사용
(사용형식)
GRANT CONNECT, RESOURCE, DBA TO 계정명;
접속할 때는 Test 먼저 하고 접속하기
객체를 만들 때는 CREAT, 지울 때는 DROP
유저를 변경할 때는 ALTER
삭제연산 : 제한(Restrict), 연쇄(Cascade), null값으로 대체(Nullify)
<데이터 무결성>
<뷰(View)>
<SQL의 개요>
대화식 SQL : DBMS 회사에서 제공하는 유틸리티프로그램
내장 SQL : SQL문이 C, Java와 같은 프로그램 안에 포함되어서 사용되는 방식
오늘의 소감 :
Oracle에서 어떤 부분이 중요한지 잘 모르겠다.
그리고 데이터베이스 프로그램이다보니 프로그래밍보다는 컴활 1급 공부했을 때 만났던 액세스와 더 비슷하다.
실무에서 어떻게 쓰이게 될 지 궁금하다.
Java 고급과정에서 연계해서 쓴다는데 그때를 위해서 배우는 걸까?