oracle

Programming/Oracle

[Oracle] SELECT문: GROUP BY절, HAVING절

💡GROUP BY절 [WITH ] SELECT column_list FROM table_name [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expresstion [ASC|DESC]] SELECT 컬럼리스트: 4. 컬럼 지정 (보고 싶은 컬럼만 가져오기) > Projection FROM 테이블: 1. 테이블 지정 WHERE 조건: 2. 조건 지정 (보고 싶은 행만 가져오기) > Selection group by 기준: 3. (레코드끼리) 그룹을 나눈다. ORDER BY 정렬기준: 5. 순서대로 정렬 언제 GROUP BY를 사용할까? SELECT * FROM tblInsa; S..

Programming/Oracle

[Oracle] DML: INSERT, UPDATE, DELETE

💡INSERT INSERT는 DML의 한 종류이다. 테이블에 데이터를 추가하는 명령어이다. INSERT 구문 insert into 테이블명 (컬럼리스트) values (값리스트) INSERT의 사용 DROP TABLE tblMemo; CREATE TABLE tblMemo ( seq number(3) PRIMARY KEY,--메모번호(PK) name varchar2(30) DEFAULT '익명',--작성자(UQ) memo varchar2(1000),--메모(NN) regdate DATE DEFAULT sysdate NOT NULL--작성날짜 ); DROP SEQUENCE seqMemo; CREATE SEQUENCE seqMemo; SELECT * FROM tblMemo; INSERT를 사용하기 전에 필요한..

Programming/Oracle

[Oracle] 시퀀스 (Sequence)

💡시퀀스 시퀀스(Sequence)는 일련 번호를 생성한다. 시퀀스는 데이터베이스 객체 중 하나로, 오라클 전용 객체이므로 다른 DBMS 제품에는 없다. 주로 식별자(일련번호)를 만드는데 사용하며, 기본값(PK)으로 사용되는 경우가 많다. CREATE SEQUENCE seqNum; SELECT seqNum.nextVal FROM dual; --일련 번호 생성 호출할 때마다 숫자를 증가하면서 돌려준다. 일련번호를 생성하고 있는 것을 확인할 수 있다. 시퀀스 객체 생성하기 CREATE SEQUENCE 시퀀스명; 시퀀스 객체 삭제하기 DROP SEQUENCE 시퀀스명; 시퀀스 객체 사용하기(함수) 시퀀스객체.nextVal 시퀀스객체.currVal 시퀀스의 사용 CREATE TABLE tblMemo ( seq n..

Programming/Oracle

[Oracle] 데이터 정의어 (DDL)

💡DDL DDL은 데이터 정의어이다. 데이터의 구조를 만들며, 데이터와 관계되지 않은 것을 만들기도 한다. 데이터베이스 객체로는 테이블, 뷰, 인덱스, 프로시저, 트리거, 제약사항, 시노닙 등이 있다. DDL의 키워드로는 CREATE, ALTER, DROP이 있다. 데이터베이스 오브젝트를 만드는 역할을 하며, 만드는 것 뿐만 아니라 수정 삭제도 수행한다. DDL은 DB 작업에 있어 건물의 뼈대를 만드는 작업을 한다. 테이블 생성하기 > 스키마 정의하기 > 컬럼 정의하기 > 컬럼의 이름, 자료형, 제약을 정의 테이블을 생성할 때, 스키마를 정의한다고 말한다. 이는 속성(컬럼)을 정의한다고 볼 수 있다. 컬럼을 정의한다는 것은 해당 컬럼에 어떤 데이터를 집어 넣을지 이름을 정하거나 어떤 자료형을 넣을지, 어..

Programming/Oracle

[Oracle] 제약 사항 (Constraint)

💡제약 사항 제약사항(Constraint)은 해당 컬럼에 들어갈 데이터(값)에 대한 조건이다. 사용자는 컬럼에 엉뚱한 값이 들어가지 않고 올바른 값만 저장될 수 있도록 해야 한다. 만약 숫자형만 들어가야 하는 컬럼에 날짜형이나 문자형이 들어가는 등 데이터가 훼손이 되면 테이블의 무결성이 깨졌다는 표현을 쓴다. 하지만 올바른 데이터만 들어가는지 사람이 일일이 확인하기 어렵다. 그래서 사람이 오라클에게 규칙을 알려주고, 오라클이 이러한 규칙에 따라 데이터를 감시하고 관리한다. 이때 데이터의 정확성과 일관성을 유지하고 관리하기 위한 규칙을 제약사항이라고 한다. NOT NULL PRIMARY KEY (PK) FOREIGN KEY (FK) UNIQUE CHECK DEFAULT NOT NULL NOT NULL은 해..

Programming/Oracle

[Oracle] 관계대수 (Relational Algebra)

💡관계대수 관계대수(Relational Algebra)는 릴레이션에서 원하는 값을 얻기 위해 수학 연산을 이용해 질의하는 방법을 기술하는 언어이다. 관계대수는 수학 연산(+, -...)을 하는데, 피연산자가 테이블(릴레이션)이라는 점이 특징이다. 예를 들어서 A라는 테이블과 B라는 테이블이 있다고 할 때, 관계대수 연산을 이용하여 A테이블 + B테이블과 같이 더하는 작업을 할 수 있다. 💡관계대수 연산 관계대수 식에는 셀렉션, 프로젝션, 합집합, 교집합, 차집합, 카티션 프로덕션이 있다. 연산자 대상과 이름, 설명이 중요하며, 우리가 실제로 기호를 써가면서 표기할 일은 없다. 하나의 테이블을 가지고 연산을 하면 단항 연산, 두 개의 테이블을 가지고 연산을 하면 이항 연산이라고 부른다. 셀렉션과 프로젝션은..

Programming/Oracle

[Oracle] 키 (Key)

💡키 데이터베이스에서 키(key)는 속성을 말한다. 관계형 DB에서 키는 특정 레코드를 구별할 때 사용하는 속성, 또는 속성의 집합이다. 아래 회원 테이블에는 총 5개의 속성이 있다. 이 속성 중에서 두 명의 사람을 구분할 수 있는 능력을 키라고 부른다. 회원 테이블에서 키는 번호가 사용될 수 있다. 이름, 주소, 취미, 나이는 키로 사용될 수 없다. 사용된 키가 또다른 테이블과 연관을 맺으면서 이때 키는 릴레이션의 관계를 만들 때에도 사용할 수 있다. 키는 각 튜플을 구분할 수 있는 유일한 도구이면서도 테이블을 연결해주는 도구로 쓰인다. 슈퍼키 슈퍼키(Super Key)는 튜플을 유일하게 식별할 수 있는 하나의 속성 또는 집합을 의미한다. 회원번호는 회원별로 회원을 식별할 수 있고, 주민번호도 유일하므..

Programming/Oracle

[Oracle] 릴레이션 (Relation)

💡릴레이션 릴레이션(Relation)은 행과 열로 구성된 테이블이다. 따라서 릴레이션이라고 하면 표를 떠올리면 된다. 이때 행과 열은 단순히 구조만 나타내는 게 아니라 서로 연관되어 있는데, 서로 관계있는 것들을 모아놓았기에 릴레이션이라는 표현을 사용한 것이다. 릴레이션 스키마와 인스턴스 회원 테이블에 주황색으로 컬럼이 정의되어 있다. 이를 스키마라고 한다. 스키마에 구성된 하나하나를 속성(어트리뷰트)라고 한다. 속성은 컬럼의 정보이다. 표의 행(레코드)에 데이터를 집어 넣는데, 이를 인스턴스라고 부르기도 하고, 이론적으로는 튜플이라는 표현을 쓰기도 한다. 튜블, 레코드, 로우, 인스턴스 이 말을 모두 같은 말이다. 어디에서 이 말을 만들어 냈는지에 대한 차이가 있을 뿐이다. 각 속성이 어떤 값을 가질 ..

Isaac-Christian
'oracle' 태그의 글 목록 (7 Page)