전체 글

데이터베이스 설계와 구축 - 성능까지 고려한 데이터 모델링 Part 1 논리설계 Chapter 1. 데이터 모델링 주요 개념 1. 엔티티타입 * 엔티티 : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 것으로 영속적으로 존재하는 단위 * 특징 - 업무에서 필요하고 관리하고자 하는 정보 - 유일한 식별자(Unique Indentifier)에 의해 식별이 가능해야 함 - 영속적으로 존재하는 엔티티의 집합이 되어야 함 - 업무프로세스는 그 엔티티타입을 반드시 이용해야함 - 엔티티에는 반드시 속성(Attributes)이 포함되어야 함 - 엔티티 타입은 다른 엔티티타입과 최소 한 개 이상의 관계가 있어야 함 * 분류 - 유무형에 때른 분류 (1) Tangible entity type : 물리 형태 존재, ..
● POSTGRESQL에서의 시간 타입은 타 DBMS와 다른 부분이 있어 시간/날짜 데이터타입에 대한 쿼리 및 함수를 따로 정리하여 포스팅합니다. -- 날짜 시간 타입으로 캐스팅 select '20190320'::date, '2019-01-02'::date select date '2019-03-18' select to_date('01022019','MMDDYYYY'), to_date('2018-12-25', 'YYYY-MM-DD') select to_timestamp('2019-01-01 20:12:12', 'YYYY-MM-DD HH:MI:SS') -- 현재시간 날짜 구하기 select now(), current_date, current_time -- 시간 더하고 빼기 select '2019-01-01'..
1. TABLESPACE란? ■ DB 내의 물리적인 부분으로 DB object 내 실제 데이터를 저장하는 공간이다. 단지 데이터베이스 저장소 위치를 지정하며, 논리적인 데이터베이스 구조나 스키마를 지정하지 않는다. (동일 스키마 내의 다른 오브젝트는 서로 다른 테이블스페이스에 위치할 수 있다.) ■ POSTGRESQL에서 TABLESPACE의 의미 또한 타 DB의 TABLESPACE 역할과 동일하며 DBA가 Database Object가 저장된 파일 시스템 장소를 정의할 수 있도록 한다. 2. TABLESPACE 조회 ■ \db 3. TABLESPACE 생성 ■ CREATE TABLESPACE [tablespace_name]; ■ option (1) OWNER [user_name] - 입력하여 TABLE..
1. DATABASE 구조 https://kwomy.tistory.com/6 Postgresql database 기본 구조 1. postgresql vs oracle ? - db엔진이 올라간 후, 인스턴스를 생성하면서 database가 생성되어 대부분 1 instance = 1 database 를 나타내는 오라클과 달리 postgresql에서의 인스턴스는 1 instance = 1 server를.. kwomy.tistory.com 2. DATABASE 소유 - Database를 생성하기 위해서는 SUPERUSER이거나 CREATEDB 권한을 가진 USER여야 한다. - SUPERUSER는 다른 USER가 만든 DATABASE를 소유할 수도 있지만 그 외 일반 USER들은 자신이 생성한 DATABASE만 ..
1. USER 조회 ● 쿼리로 조회 : select * from PG_SHADOW; ● 명령어로 조회 : \du ROLE funtion SUPERUSER USER 생성, 권한을 부여해주는 USER CREATE ROLE USER가 새로운 ROLE을 정의하는 기능을 생성 CREATE DB USER가 DB를 생성하는 권한을 부여하는 기능 REPLICATION USER가 DB를 실시간으로 복사하는 기능 - \du 를 입력하면 각 user가 가진 role(권한)을 확인할 수 있다. - DB설치시 default로 생성되는 postgres 유저는 모든 권한을 가지고 있다. 2. USER 생성 및 권한 부여 - USER 권한 목록 (\du 명령어 통해서 조회 가능) OPTION DEFAULT OPTION SUPERUS..
1) help information - psql의 명령어에 대한 정보를 얻기 위해서는 psql로 접속하여 \? 를 입력하면 명령어에 대한 정보를 얻을 수 있다. - sql에 대한 명령어 정보를 얻고 싶을 때는 \h 를 입력하면 sql명령어에 대한 정보를 얻을 수 있다. 2. database 목록 확인 - \l 명령어를 통해 서버에 접속된 database 목록을 확인할 수 있다. - database 내 relation 정보를 확인하려면 \d를 입력한다. ● \dt : database 내 table 조회 ● \d+ : relation 상세 조회 ● \dS : System table 조회 ● \dv : view 조회 ● \dl : Large object 조회 ● \di : index 조회 ● \df : fun..