데이터베이스

Database/Oracle

[Oracle] PL/SQL

PL/SQL Oracle's Procedural Language extension to SQL의 약자로, SQL 문장에서 변수 정의, 조건 처리(IF), 반복 처리(LOOP, WHILE, FOR) 등을 지원한다. 오라클 자체에 내장된 Procedure Language이다. PL/SQL 자신이 컴파일 엔진을 가지고 있으며 PL/SQL의 모든 요소는 하나 또는 두 개 이상의 블록으로 구성하여 모듈화가 가능하다. PL/SQL 문은 블록 구조로 되어 있어 다수의 SQL 문을 한 번에 Oracle DB로 보내어 수행 속도를 향상할 수 있다. 하지만 Procedure를 잘못 작성하게 되면 수행 속도를 저하시킬 수도 한다. 큰 블록(BEGIN~END) 안에 소블록(BEGIN~END)이 여러 개 들어갈 수 있다. 테이..

Database/Oracle

[Oracle SQL] UNION 과 UNION ALL 차이

UNION과 UNION ALL 차이 UNION과 UNION ALL은 합집합을 표현할 때 사용한다. -- UNION 사용 SELECT 10 data FROM tb UNION SELECT 10 data FROM tb UNION SELECT 20 data FROM tb -- UNION ALL 사용 SELECT 10 data FROM tb UNION ALL SELECT 10 data FROM tb UNION ALL SELECT 20 data FROM tb 위의 경우에서 결과 값은 다르게 나온다. UNION을 사용한 경우에는 10과 20 2개만 출력되지만 UNION ALL을 사용하면 10, 10, 20으로 총 3개의 데이터가 출력된다. UNION을 사용하면 중복을 제거해준다. 중복을 제거해야하거나 제거하지 않아야..

Database/Oracle

[Oracle SQL] DDL (Data Definition Language)

DDL(Data Definition Language) CREATE CREATE [GLOBAL TEMPORARY] TABLE [schema.]table (colunm datatype [DEFAULT expr][, ...,]); Table을 생성한다. GLOBAL TEMPORARY : 임시 Table을 생성하고, 모든 Session에서 볼 수 있다. (입력된 Data는 해당 Session에서만 확인 가능) schema : 소유자 이름과 동일하다. table, column : table 이름, column 이름 DEFAULT expr : INSERT 문에서 값을 생략했을 때 해당 Column에 사용될 기본 값 datatype : Column Data Type 및 길이 DEFAULT 옵션 데이터 insert 시..

Database

데이터베이스 (Database)

데이터베이스(DB, Database) 특정 조직의 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합 통합 데이터(integrated data) 최소의 중복과 통제 가능한 중복만 허용하는 데이터 저장 데이터(stored data) 컴퓨터가 접근할 수 있는 매체에 저장된 데이터 공유 데이터(shared data) 특정 조직의 여러 사용자가 함께 소유하고 이용할 수 있는 공용 데이터 운영 데이터(operational data) 조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터 데이터베이스 관리 시스템 (DBMS) Database Management System 데이터를 편리하게 저장하고 효율적으로 관리하고 검색할 수 있는 환경을 제공해주는 소프트웨어. 데이터베이스의 생성..

Database

Connection Pool (커넥션 풀)

Connection Pool(커넥션 풀) 위키백과에 따르면.. 소프트웨어 공학에서 데이터베이스로의 추가 요청이 필요할 때 연결을 재사용할 수 있도록 관리되는 데이터베이스 연결의 캐시이다. 데이터베이스에 있는 정보를 가져오거나 수정 등등의 기능을 수행하기 위해서는 DB 커넥션 객체를 얻고, 이 객체를 사용하여 사용할 쿼리문을 수행한다. 간단한 예시로, 메모리 관리를 위해 쿼리문 수행 후 꼭 close() 메서드를 수행해주어야 하는데 프로그램 하나가 실행될 때 필요한 쿼리문이 한 개가 있는 것이 아니니 한 프로그램에서는 최소 한 번 이상의 연결이 연결되고, 끊어지게 될 것이다. 또한 한 개의 기능을 수행할 때도 데이터베이스와의 연결이 여러 번 요청되고 끊어질 수 있다. 이렇게 연결과 종료가 반복될 때마다 드..

Database

관계형 데이터베이스 관리 시스템 (RDBMS)

관계형 데이터베이스 관리 시스템(RDBMS) 관계 또는 2차원 테이블을 사용하여 정보를 저장하는 데이터베이스 관계형 데이터베이스는 하나 이상의 테이블을 포함할 수 있고, 테이블은 기본 저장 구조로서 현실에 필요한 데이터를 보유할 수 있다. 테이블에 대한 액세스 경로를 지정하지 않으면 데이터가 물리적으로 배열되어 있는 방식을 알 필요가 없다. 데이터베이스에 액세스 하기 위해 SQL(ANSI 표준어) 문을 실행하고, SQL을 사용하여 데이터베이스 수정이 가능하다. 관계 분할과 결합을 위한 연산자 집합이 포함된다. 구성 요소 Data를 저장하는 객체(Entity) 또는 관계(Relation)의 모음이다. 다른 관계 생성을 위해 관계에 적용하는 연산자(Operators)의 집합이다. 정확성과 일관성을 위한 Da..

Database/MySQL

[MySQL] DDL 2 - Table

DDL 테이블 생성 CREATE TABLE [테이블명] ( [COLUMN NAME] INT PRIMARY KEY, [COLUMN NAME] VARCHAR(20) NOT NULL, [COLUMN NAME] INT AUTO_INCREMENT, [COLUMN NAME] DATETIME ) PRIMARY KEY : 고유한 키 값을 갖는 필드 AUTO_INCREMENT : 레코드가 생성될 때마다 자동으로 증가 NOT NULL : null 값 허용 안 함 create table items ( int not null auto_increment, content varchar(300), due_date date, `use` int(1) not null default 1, primary key(id) ) create ta..

Database/MySQL

[MySQL] DDL 1 - Database

MySQL이 설치되어있는 상태라면 커맨드 창에서 MySQL에 접속할 수 있다. mysql이 설치되어있는 폴더로 이동해서 > mysql -u [사용자아이디] -p [데이터베이스이름] 위 명령어를 입력하면 접속된다. [데이터베이스이름]은 생략할 수 있다. 아래mysql> 이 뜨는 걸 확인할 수 있다. quit 명령어를 통해 빠져나갈 수 있다. ❗ SQL 명령문은 대소문자를 가리지 않는다. DDL 데이터베이스 데이터베이스 생성 CREATE DATABASE [데이터베이스명]; CREATE DATABASE [데이터베이스명] DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 두 번째 CREATE 문을 이용해 유니코드를 사용하는 데이터베이스를 생성할 수 있다...

Setting

Live SQL - 설치 없이 SQL문 사용하기

SQLD 자격증 준비를 위해 Live SQL을 사용하기로 하였다. Live SQL 🔨 실행 방법 https://livesql.oracle.com Oracle Live SQL 876,266 scripts, 3,965 likes, 1,035 public scripts, 6,209 new scripts created in the last 7 days. livesql.oracle.com Live SQL 웹 사이트를 이용하기 위해선 Oracle 계정이 필요하므로 계정이 없다면 회원가입을 해주어야 한다. 로그인을 하지 않은 상태에서Start Coding Now를 누르면 로그인 화면이 바로 뜬다. 로그인 하게 되면 아래와 같은 화면이 나오게 된다. I Agree에 체크를 해주고 Accept를 눌러 다음으로 넘어가준다..