달력

11

« 2019/11 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2


 

무결성 제약 조건의 특성

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

·         모든 제약조건들은 데이터 사전(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. 10:25

​IBk vs k-means Development/Java



 

IBk vs k-means

·       IBk 분류분석은 k-means 군집분석과 유사합니다. 그래서 IBk 분류분석은 데이터간 거리측정 즉 유사도를 기준으로 군집화를 하는 것까지는 똑같습니다. 그러나 k-means은 군집화까지만 수행하지만 IBk는 더 나아가 군집간에 기준선을 만들어 새로운 데이터가 어느 군집에 분류될지까지 결정합니다.

·       다른 차이점은 k means 군집분석은 군집개수를 수동으로 지정하여 어느정도 군집개수가 적절한지 일일히 실험을 해야 하나, IBk crossvalidate 옵션을 사용하면 적정군집수를 제안해 줍니다.

 

IBk

k-means

군집화 수행 +

군집화된 기준으로 세로운 데이터를 분류

군집화까지만 수행

적정군집수를 제안

군집개수를 수동으로 지정

지도 학습

비지도 학습

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

Number of international phone calls from Belgium, 1950–1973.

연도별로 데이터측정 방법이 달라서 일관된 데이터가 나오지 않고 이상값이 나온 실제 데이터 사례입니다.

 

 


 

 

http://bit.ly/2siIBKI


 

 

 

 

 

 

직접 다운로드

data_outliers.csv

이상값이 존재하는 데이터

data_outliers_remove.arff

이상값을 제거한 데이터

 

 

data_outliers.csv

data_outliers_remove.arff



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

댓글을 달아 주세요



 

 

geopandas installing with pip

·       파이썬 버전 확인

·       운영체제 OS bit 버전 확인

·       whl파일 다운로드

·       whl파일 설치

 

 

 

Step by Step

 

파이썬 버전 확인

C:\CodeLab>python --version

Python 3.6.5

 

C:\CodeLab>

 

 

 

 

운영체제 OS bit 버전 확인

C:\CodeLab>systeminfo | findstr based

시스템 종류:             x64-based PC

 

C:\CodeLab>

 

 

 

 

whl파일 다운로드

https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona

Fiona1.8.11cp36cp36mwin_amd64.whl

 

https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely

Shapely1.6.4.post2cp36cp36mwin_amd64.whl

 

https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal

GDAL3.0.2cp36cp36mwin_amd64.whl

 

https://bit.ly/34j4x6B

geopandas0.6.2py2.py3noneany.whl

 

 

 

 

 

 

whl파일 설치

 

C:\CodeLab>dir *.whl

 C 드라이브의 볼륨에는 이름이 없습니다.

 볼륨 일련 번호: 70F2-E4B5

 

 C:\CodeLab 디렉터리

 

2019-11-25  오전 08:47           486,546 Fiona-1.8.11-cp36-cp36m-win_amd64.whl

2019-11-25  오전 09:12        34,119,907 GDAL-3.0.2-cp36-cp36m-win_amd64.whl

2019-11-25  오전 08:36           919,996 geopandas-0.6.2-py2.py3-none-any.whl

2019-11-25  오전 09:11           635,386 Shapely-1.6.4.post2-cp36-cp36m-win_amd64.whl

               4 파일          36,161,835 바이트

               0 디렉터리  12,584,366,080 바이트 남음

 

C:\CodeLab>

 

 

 

pyproj , shapely, GDAL, Fiona, geopandas 순서로 설치해 주어야 Error 발생하지 않습니다.

 

install pyproj

C:\CodeLab>pip install pyproj

Collecting pyproj

  Using cached https://files.pythonhosted.org/packages/0d/99/8d3a138e5ef78b6e8b6f754d79046701ab18af6f1411c9cfcef5c6432f61/pyproj-2.4.1-cp36-cp36m-win_amd64.whl

Installing collected packages: pyproj

Successfully installed pyproj-2.4.1

 

C:\CodeLab>

 

install Shapely

C:\CodeLab>pip install Shapely-1.6.4.post2-cp36-cp36m-win_amd64.whl

Processing c:\codelab\shapely-1.6.4.post2-cp36-cp36m-win_amd64.whl

Installing collected packages: Shapely

Successfully installed Shapely-1.6.4.post2

 

C:\CodeLab>

 

 

install GDAL

C:\CodeLab>pip install GDAL-3.0.2-cp36-cp36m-win_amd64.whl

Processing c:\codelab\gdal-3.0.2-cp36-cp36m-win_amd64.whl

Installing collected packages: GDAL

Successfully installed GDAL-3.0.2

 

C:\CodeLab>

 

 

install Fiona

C:\CodeLab>pip install Fiona-1.8.11-cp36-cp36m-win_amd64.whl

Processing c:\codelab\fiona-1.8.11-cp36-cp36m-win_amd64.whl

Requirement already satisfied: click-plugins>=1.0 in c:\python\python36\lib\site-packages (from Fiona==1.8.11) (1.1.1)

Requirement already satisfied: six>=1.7 in c:\python\python36\lib\site-packages (from Fiona==1.8.11) (1.11.0)

Requirement already satisfied: click>=4.0 in c:\python\python36\lib\site-packages (from Fiona==1.8.11) (7.0)

Requirement already satisfied: munch in c:\python\python36\lib\site-packages (from Fiona==1.8.11) (2.5.0)

Requirement already satisfied: cligj>=0.5 in c:\python\python36\lib\site-packages (from Fiona==1.8.11) (0.5.0)

Requirement already satisfied: gdal~=3.0.2 in c:\python\python36\lib\site-packages (from Fiona==1.8.11) (3.0.2)

Requirement already satisfied: attrs>=17 in c:\python\python36\lib\site-packages (from Fiona==1.8.11) (19.3.0)

Installing collected packages: Fiona

Successfully installed Fiona-1.8.11

 

C:\CodeLab>

 

 

install geopandas

C:\CodeLab>pip install geopandas-0.6.2-py2.py3-none-any.whl

Processing c:\codelab\geopandas-0.6.2-py2.py3-none-any.whl

Requirement already satisfied: shapely in c:\python\python36\lib\site-packages (from geopandas==0.6.2) (1.6.4.post2)

Requirement already satisfied: pyproj in c:\python\python36\lib\site-packages (from geopandas==0.6.2) (2.4.1)

Requirement already satisfied: fiona in c:\python\python36\lib\site-packages (from geopandas==0.6.2) (1.8.11)

Requirement already satisfied: pandas>=0.23.0 in c:\python\python36\lib\site-packages (from geopandas==0.6.2) (0.23.0)

Requirement already satisfied: cligj>=0.5 in c:\python\python36\lib\site-packages (from fiona->geopandas==0.6.2) (0.5.0)

Requirement already satisfied: click>=4.0 in c:\python\python36\lib\site-packages (from fiona->geopandas==0.6.2) (7.0)

Requirement already satisfied: attrs>=17 in c:\python\python36\lib\site-packages (from fiona->geopandas==0.6.2) (19.3.0)

Requirement already satisfied: gdal~=3.0.2 in c:\python\python36\lib\site-packages (from fiona->geopandas==0.6.2) (3.0.2)

Requirement already satisfied: six>=1.7 in c:\python\python36\lib\site-packages (from fiona->geopandas==0.6.2) (1.11.0)

Requirement already satisfied: munch in c:\python\python36\lib\site-packages (from fiona->geopandas==0.6.2) (2.5.0)

Requirement already satisfied: click-plugins>=1.0 in c:\python\python36\lib\site-packages (from fiona->geopandas==0.6.2) (1.1.1)

Requirement already satisfied: pytz>=2011k in c:\python\python36\lib\site-packages (from pandas>=0.23.0->geopandas==0.6.2) (2018.4)

Requirement already satisfied: numpy>=1.9.0 in c:\python\python36\lib\site-packages (from pandas>=0.23.0->geopandas==0.6.2) (1.14.4)

Requirement already satisfied: python-dateutil>=2.5.0 in c:\python\python36\lib\site-packages (from pandas>=0.23.0->geopandas==0.6.2) (2.7.3)

Installing collected packages: geopandas

Successfully installed geopandas-0.6.2

 

C:\CodeLab>

 

 

 

 

 

 

 

http://geopandas.org/install.html

https://pypi.org/project/geopandas/0.2.1/

https://pypi.org/project/Shapely/

https://pypi.org/project/GDAL/

https://pypi.org/project/pyproj/

 

 


Posted by codedragon codedragon

댓글을 달아 주세요