달력

8

« 2020/8 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  



 

 


오라클 설치파일 다운로드(download)

오라클 계정으로 로그인 해야 다운로드 가능합니다.

 

http://www.oracle.com/index.html

상단의 메뉴 [메뉴아이콘] 클릭 >>  "Product Help"항목의 [Downloads] 링크 클릭


 

 

"Database" 영역의 [Database 11g Enterprise/Standard Editions] 클릭

https://www.oracle.com/downloads/


 

"Microsoft Windows (x64)" 항목에 있는 [File1] [File2] 모두 다운받습니다.

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#11g


 

 

 

페이지를 하단으로 이동한면 "Oracle Database Express Edition" 버전을 다운받아 설치할 있습니다.


 

 

 

https://www.oracle.com/database/technologies/xe-prior-releases.html


 

[I accept the Oracle License Agreement] 체크 >>

[Download OracleXE112_Win64.zip]


 

 

파일을 다운받기 위해서는 Oracle 계정이 필요합니다.


 

 



Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

단계별 정규형과 제약 조건

·         단계별로 정규형이 만족해야 하는 제약조건과 정규화 방법에 차이가 있습니다.

·         4, 5정규형은 너무 복잡한 종속성을 고려해야 하고 릴레이션 수도 과도하게 많아질 있습니다. 일반적으로 보이스/코드 정규형까지만 고려하므로, 4, 5 정규형을 제외한 나머지 정규형에 대해 자세히 알아보겠습니다.

 

정규형 단계

제약 조건

정규화 방법

1 정규형(1NF)

모든 속성의 도메인이 원자 이어야 합니다.

·         다중치 속성 중복 속성을 분리 (다중치와 반복 그룹 제거)

·         나눌 있는 만큼 쪼갭니다.

2 정규형

(2NF)

모든 속성이 기본 키에 완전 함수적 종속이어야 합니다.

·         기본 키에 부분 함수적 종속인 속성을 분리 (부분 함수적 종속 제거)

·         테이블의 컬럼들이 기본키와 직접 연관되는 컬럼만으로 구성합니다.

3 정규형

(3NF)

속성들 간에 이행적 함수적 종속이 없어야 합니다.

·         이행적 함수적 종속인 속성을 분리 (이행적 함수적 종속 제거)

·         컬럼들 간의 종속관계가 있으면 안됩니다.

보이스/코드 정규형 (BCNF)

후보 키가 아닌 결정자가 없어야 합니다.

·         후보 키가 아니면서 결정자 역할을 하는 속성과 종속자를 분리

·         (모든 결정자가 후보 )

4 정규형 (4NF)

다치 종속(Multi-valued Dependency) 속성이 없어야 합니다.

·         다치 종속인 속성을 분리

5 정규형 (5NF)

조인 종속(Join Dependency) 속성이 없어야 합니다.

·         조인 종속인 속성을 분리

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

2019. 12. 3. 02:30

NoSQL 분류 Development/Database



 

 

 

NoSQL 분류

·         NoSQL은 특정 제품이 아니라 일련의 제품군을 NoSQL이라고 합니다.

·         데이터 저장 모델에 따라 KV Store / Ordered KV Store / Document KV Store으로 분류할수 있습니다.

·         Ordered KV Store Key 대한 정령을 제공해줍니다.

·         Document KV Store Value file형태(XML, JSON) 저장을 합니다.

 

분류

설명

종류

Key / Value

·         키와 값의 쌍으로 데이터 저장

·         키값을 주면 값을 리턴하는 형태

·         JSON 유사한 형태

·         휘발성, 영속성

·         Memchached

·         Tokyo Tyrant

·         Flare

·         Roma

·         Redis

·         Dynamo

Document based

·         문서형식으로 데이터 저장

·         Value값이 JSON/XML 문서형태

·         스키마 정의 없음

 

·         MongoDB

·         CouchDB

·         SimpleDB

Ordered Key/Value

 

·         Big Table DB (Column )

·         "Column-oriented 데이터베이스"라고도 합니다.

·         정렬된 Key/Value

·         키값이 정렬된 형태를 유지

·         뛰어난 확장성

·         검색에 유리

·         Hbase

·         Casandara

·         Hypertable

Column-oriented

·         컬럼기반으로 데이터 저장

-

 

 

 

 

 


'Development > Database' 카테고리의 다른 글

오라클 설치파일 다운로드(download)  (0) 2019.12.12
단계별 정규형과 제약 조건  (0) 2019.12.07
NoSQL 분류  (0) 2019.12.03
Summary - 무결성 제약 조건의 특성, QUERY 연습  (0) 2019.11.28
DB & DBMS  (0) 2019.11.28
트랜잭션(Transcation)  (0) 2019.11.19
Posted by codedragon codedragon

댓글을 달아 주세요


 

무결성 제약 조건의 특성

·         제약조건은 데이터의 적정성과 무결성을 확보하기 위한 조건들을 의미한다.

·         모든 제약조건들은 데이터 사전(data dictionary) 저장된다.

·         부적절한 데이터 입력방지를 위한 NOT NULL 제약조건은 반드시 (컬럼) 레벨에서만 정의가 가능하다.

·         NOT NUll, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK 등이 대표적인 제약조건의 유형들이다.

 

https://codedragon.tistory.com/4272

 

 

 

 

기본키(Primary key)

·         기본키 제약조건은 일반적으로 테이블의 행을 고유하게 식별하는 값을 가진 또는 조합을 말한다.

·         기본키 제약 조건에 포함되는 열에는 Null 값을 사용할 없다.

·         기본키 제약 조건을 지정하면 데이터베이스는 해당 열에 대해 고유 인덱스를 만들어 데이터 고유성을 적용한다.

·         쿼리에서 기본키 제약 조건을 사용한 열을 사용하는 경우 인덱스를 사용하여 빠르게 액세스할 있다.

https://codedragon.tistory.com/4534

https://codedragon.tistory.com/8065

 

 

 

 

외래키(FOREIGN KEY)

·         외래키 제약조건은 테이블의 데이터 연결을 설정하고 강제 적용하는 사용되는 열을 말한다.

·         외래키 테이블의 기본 값을 가지고 있는 열을 다른 테이블의 열이 참조할 테이블 간에 연결이 생성된다이때 번째 테이블에 추가되는 열은 제약 조건으로 생성된다.

·         외래키 제약 조건을 지정하면 데이터베이스는 해당 열에 대해 고유 인덱스를 만들어 데이터 고유성을 적용한다.

·          쿼리에서 제약 조건을 사용한 열을 사용하는 경우 인덱스를 사용하여 빠르게 액세스할 있다.

https://codedragon.tistory.com/4540

 

 

 

 

QUERY  연습 1

오브젝트 조회, 테이블 조회, 컬럼 정보 조회 , 인덱스 조회, 조회 쿼리문 예시입니다.

조회 정보

예제

오브젝트 조회

SELECT object_name, object_type

FROM user_objects;

테이블 조회

SELECT table_name FROM user_tables;

SELECT * FROM tab;

컬럼 정보 조회

SELECT column_name, data_type, data_length, data_precision,

data_scale, nullable, data_default

FROM user_tab_columns

WHERE table_name = 'DEPT' ;

인덱스 조회

SELECT column_name, data_type, data_length, data_precision,

data_scale, nullable, data_default

FROM use_indexes

WHERE table_name = 'DEPT' ;

조회

SELECT text

FROM user_views

where view_name='EMP_vw';

https://codedragon.tistory.com/8067

 

 

 

 

QUERY  연습 2

1.아래의 조건에 맞는 테이블을 설계하고 데이터를 조작하여 테스트하는 쿼리문을 작성하시오

 

 

인사관리에 필요한 테이블(employees) 생성하기

컬럼

조건

사원번호

empno

PK

사원명

empname

Not Null

성별

gender

m 또는 w 값만 허용

부서코드

deptno

부서테이블과 관계 설정

메일주소

email

중복불허

휴대폰번호

phone

중복불허

학력

school

코드(학력테이블)

주소

address

-

 

 

 

인사 기본테이블(employees)  구성된 테이블 생성

CREATE TABLE employees(

empno NUMBER(4) PRIMARYKEY,

empname VARCHAR2(10) NOT NULL,

gender VARCHAR2(1) CONSTRAINT emp_gender_CK CHECK( gender IN('M', 'F') ),

gender VARCHAR2(10) constraint check_gender check( gender IN('남성','여성') ),

deptno VARCHAR2(10) NOT NULL FOREIGN KEY REFERENCES departments(deptno),

email VARCHAR2(10) UNIQUE,

phone NUMBER(4) UNIQUE,

school VARCHAR2(10),

address VARCHAR2(10)

);

 

 

부서테이블(departments)  생성하기

컬럼

조건

부서코드

(deptno)

PK

부서명

(deptname)

not Null

지역

(region)

-

부서 전화번호

(depttel)

-

 

CREATE TABLE departments(

deptno VARCHAR2(10) PRIMARYKEY,

deptname VARCHAR2(10)NOT NULL,

region VARCHAR2(10)

depttel VARCHAR2(10)

);

 

 

 

2. 테이블간의 관계도를 도식화하여 나타내시오


 

 

 

 

3. 인사기본테이블의 성별컬럼을 기준으로 B 트리 인덱스를 생성하려고 문제점을 설명하시오

사원정보 테이블에서 성별 컬럼의 데이터는 m w 값만을 가질 있으며, 카디널리티가 낮은 컬럼을 대상으로 때는 bitmap 인덱스를 생성하는 것이 효율적이다.

 

 

 

 

 

4. 사원번호와 사원명, 부서명, 메일주소, 휴대폰번호의 컬럼을 갖는 View(empl_view) 생성하시오

CREATE OR REPLACE VIEW empl_view

AS SELECT emp.사원명, dept.부서명, emp.메일주소, emp.휴대폰번호

FROM employees emp, department dept;

 

 

 

 

 

QUERY  연습 3

제약조건(Constraints) DB에서 데이터의 적정성과 무결성을 확보하기 위한 조건들을 의미합니다. 모든 제약조건들은 원본 데이터와 따로 데이터 사전(Data dictionary)에도 저장되며, 보통 NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY< CHECK등이 대표적인 제약조건의 유형을 표시합니다.

ERD 보고 Table 생성하는 SQL 명령어 예시입니다.

 

테이블간의 관계(Relationship)


 

 

도서 테이블명: Book

컬럼명

제약조건

bookid

기본키(PK)

숫자(2)

bookname

가변문자열(40)

publisher

가변문자열(40)

price

숫자(8)

 

 

고객 테이블명: Customer

컬럼명

제약조건

custid

기본키(PK)

숫자(2)

name

가변문자열(40)

address

가변문자열(50)

phone

숫자(8)

 

 

주문 테이블명: Orders

컬럼명

제약조건

orderid

기본키(PK)

숫자(2)

custid

외래키(FK)

숫자(2)

bookid

외래키(FK)

숫자(2)

salesprice

숫자(8)

orderdate

날짜

 

CREATE TABLE Book(

bookid NUMBER(2) PRIMARY KEY,

bookname VARCHAR2(40),

publisher VARCHAR2(40),

price NUMBER(2)

)

 

 

CREATE TABLE Customer(

custid NUMBER(2) PRIMARY KEY,

name VARCHAR2(40),

address VARCHAR2(50),

phone VARCHAR2(20)

)

 

CREATE TABLE Order(

orderid NUMBER(2) PRIMARY KEY,

custid NUMBER(2) REFERENCES Customer(custid),

bookid NUMBER(2) REFERENCES Book(bookid),

saleprice NUMBER(8),

orderdate DATE

)

 

 

'Development > Database' 카테고리의 다른 글

단계별 정규형과 제약 조건  (0) 2019.12.07
NoSQL 분류  (0) 2019.12.03
Summary - 무결성 제약 조건의 특성, QUERY 연습  (0) 2019.11.28
DB & DBMS  (0) 2019.11.28
트랜잭션(Transcation)  (0) 2019.11.19
Sample database with test suite  (0) 2019.11.16
Posted by codedragon codedragon

댓글을 달아 주세요

2019. 11. 28. 02:00

DB & DBMS Development/Database

 

 

DB & DBMS

 

DB

DBMS

DataBase

Database Management System

데이터베이스

데이터베이스 관리 시스템

데이터의 집합

데이터를 관리하기 위한 시스템

https://codedragon.tistory.com/6837

https://codedragon.tistory.com/4100

 

 


'Development > Database' 카테고리의 다른 글

NoSQL 분류  (0) 2019.12.03
Summary - 무결성 제약 조건의 특성, QUERY 연습  (0) 2019.11.28
DB & DBMS  (0) 2019.11.28
트랜잭션(Transcation)  (0) 2019.11.19
Sample database with test suite  (0) 2019.11.16
SQL(Standard Query Language)  (0) 2019.11.10
Posted by codedragon codedragon

댓글을 달아 주세요

   

   

트랜잭션(Transaction)

  • 트랜잭션은 여러 개의 오퍼레이션을 하나의 작업 단위로 묶어 주는 것을 말합니다.
  • 트랜잭션은 하나의 작업 단위의 일들은 전체 작업이 모두 올바르게 수행되거나 또는 전체 작업이 모두 수행되지 않아야 합니다.(All or nothing)

   

   

트랜젝션의 ACID 특성

트랜잭션(Transaction)은 네 가지 특성(ACID 특성)을 가지고 있습니다.

   

트랜잭션의 특성

설명

원자성(Automicity)

트랜잭션의 포함된 오퍼레이션(작업)들은 모두 수행되거나,

아니면 전혀 수행되지 않아야 합니다.

일관성(Consistency)

트랜잭션이 성공적인 경우에는 일관성 있는 상태에 있어야 합니다.

고립성(Isolation)

각 트랜잭션은 다른 트랜잭션과 독립적으로 수행되는 것처럼 보여야 합니다.

지속성(Durability)

성공적으로 수행된 트랜잭션의 결과는 지속성이 있어야 합니다.

 

Posted by codedragon codedragon

댓글을 달아 주세요


 

 

Sample database with test suite

 

https://launchpad.net/


 

 

https://launchpad.net/test-db


 

https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-dump-files-1.0.5.tar.bz2

https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-full-1.0.6.tar.bz2

https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-code-1.0.6.tar.bz2

 

 

https://github.com/datacharmer/test_db




 

직접 다운로드

employees_db.zip

employees_db.z01

employees_db.z02

employees_db.z03

employees_db.z04

employees_db.z05

 



'Development > Database' 카테고리의 다른 글

DB & DBMS  (0) 2019.11.28
트랜잭션(Transcation)  (0) 2019.11.19
Sample database with test suite  (0) 2019.11.16
SQL(Standard Query Language)  (0) 2019.11.10
오라클 데이타베이스명을 확인, 오라클 SID를 확인  (0) 2019.11.02
MySQL JDBC - download (다운로드)  (0) 2019.10.26
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

SQL(Standard Query Language)

·         SQL RDBMS 표준 언어

·         SQL문을 이용해서 단순한 쿼리뿐만 아니라 데이터 베이스 객체를 만들거나, 제거하고, 데이터를 삽입, 갱신, 삭제하거나 다양한 운영 관리 작업을 있습니다.

·         SQL문이 첫선을 보인 것은 1970년대 IBM 의해서이며, 이후 ANSI/ISO 표준으로 편입되어 여러 차례의 개량과 개발을 거쳤다.

·         https://codedragon.tistory.com/8225

 

 

 

 

SQL 종류

구분

설명

DDL

데이터와 구조를 정의하는 언어

DML

데이터의 검색과 수정을 위한 언어

DCL

데이터 베이스의 권한을 정의하는 언어

 

 

 

 

 

DDL 관련 SQL

SQL

설명

CREATE

데이터베이스 객체를 생성합니다.

DROP

데이터베이스 객체를 삭제합니다.

ALTER

기존에 존재하는 데이터베이스의 객체를 다시 정의하는 역할을 합니다.

 

 

 

 

 

 

DML 관련 SQL

SQL

설명

INSERT

데이터베이스 객체에 데이터를 입력합니다.

UPDATE

데이터베이스 객체에 데이터를 갱신합니다.

SELECT

데이터베이스 객체에 데이터로 부터 데이터를 검색합니다.

COMMIT

커밋 구문 전에 발생한 데이터베이스 액션을 영구히 저장합니다.

ROLLBACK

마지막으로 발생한 커밋 후의 데이터베이스 액션을 원시 데이터로 복구합니다.

 

 

 

 

DCL 관련 SQL

SQL

설명

GRANT

데이터베이스 객체에 권한을 부여

REVOKE

이미 부여된 데이터베이스 객체의 권한을 취소

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

 

시스템계정으로 로그인합니다.

sqlplus sytem/oracle_11g

 

 

오라클 데이타베이스명을 확인

SQL> SELECT name, DB_UNIQUE_NAME FROM v$database;

 

NAME      DB_UNIQUE_NAME

--------- ------------------------------

ORCL      orcl

 

SQL>

 

 

 

오라클 SID를 확인

SQL> SELECT instance FROM v$thread;

 

INSTANCE

--------------------------------------------------------------------------------

orcl

 

SQL>

 

 



Posted by codedragon codedragon

댓글을 달아 주세요



 

 

MySQL JDBC - download (다운로드)

 

 

MySQL 사이트에 접속합니다.

https://dev.mysql.com/downloads/connector/j/


 

 

 

"Select Operating System:" 항목에서 [Platform Independent] 선택합니다.


 

"Platform Independent (Architecture Independent), ZIP Archive" 항목의 [Download]버튼을 클릭합니다.


 

 

 

 

[No thanks, just start my download.]


 


 


 

 

 

 

 

직접 다운로드

 


Posted by codedragon codedragon

댓글을 달아 주세요