SQL/ORACLE SQL 32

제약 조건 : FOREIGN KEY (외래 키 또는 참조 키)

FOREIGN KEY FOREIGN KEY는 두 테이블을 서로 연결하는 데 사용되는 키 외래 키가 포함된 테이블을 하위 테이블(자식 테이블)이라고 하고 외래 키 값을 제공하는 테이블을 상위 테이블(부모 테이블)이라고 한다. 기본키 값이거나 NULL 값이다 추가적인 제약조건을 지정해 NULL을 가질 수 없다고 제약을 걸 수 있다 참조 무결성 기본 키와 참조 키 간의 관계가 항상 유지됨을 보장 참조되는 테이블의 행을 이를 참조하는 참조키가 존재하는 한 삭제될 수 없고, 기본키도 변경될 수 없다 관련된 테이블의 레코드 간의 관계를 유효하게 하는 규칙 사용자의 실수로 관련 데이터가 삭제되거나 수정되는 것을 방지 기본 테이블에서 일치하는 칼럼이 'PRIMARY KEY'이거나 또는 고유 인덱스를 가지고 있고 또한 ..

SQL/ORACLE SQL 2022.11.09

제약 조건 : PRIMARY KEY (기본 키)

PRIMARY KEY (기본 키) 테이블에 기본키 생성 테이블의 모든 로우를 구별하기 위한 식별자를 정의 중복된 데이터를 저장하지 못하는 고유성이 부여됨 (UNIQUE) NULL 값을 가질 수 없음 (NOT NULL) NULL 값을 가질 수 없으며, 또한 중복된 값을 가질 수 없음 PRIMARY KEY (기본키) 설정방법 - 제약조건의 이름을 쓸 경우 (CONSTRAINT 명시) CREATE TABLE [테이블명] ( [컬럼1] [데이터형식] , [컬럼2] [데이터형식] NOT NULL, CONSTRAINT [제약조건명] PRIMARY KEY(컬럼1)); - 제약조건의 이름을 쓰지 않을 경우 (제약조건의 이름은 오라클에서 자동으로 부여) CREATE TABLE [테이블명] ( [컬럼1] [데이터형식] P..

SQL/ORACLE SQL 2022.11.09

제약 조건 : NOT NULL, UNIQUE

NOT NULL NOT NULL 제약조건을 명시하게 되면 해당 칼럼에는 반드시 데이터를 입력해야만 한다. 필수적으로 값이 들어가야 한다면 NOT NULL을 명시해서 사용해주는 것이 안전하다. NOT NULL 제약 조건을 설정하면, 해당 칼럼은 NULL 값을 저장할 수 없다 CREATE 문으로 테이블을 생성할 때나, 나중에 ALTER 문으로 추가 사용법 CREATE TABLE [테이블명] ( [컬럼명] [데이터타입] NOT NULL ); 제약조건에 이름을 지정 (CONSTRAINT 제약조건 이름 제약조건) CREATE TABLE [테이블명] ( [컬럼명] [데이터타입] CONSTRAINT [제약조건명] NOT NULL ); 예제 CREATE TABLE customer ( ID VARCHAR2(20) NOT..

SQL/ORACLE SQL 2022.11.09

제약 조건 : CONSTRAINT

제약 조건 : CONSTRAINT 데이터의 무결성을 지키기 위해, 데이터를 입력받을 때 실행되는 검사 규칙 테이블 생성 시 점시 적용한다 테이블에 유효하지않은 (부적절한) 데이터가 입력되는 것을 방지 NOT NULL NULL값 포함하지 못하게 UNIQUE 모든 로우에 대해서 유일한 값을 갖도록 함 PRIMARY KEY 중복된 값과 NULL을 모두 허용하지 않음 (NOT NULL + UNIQUE) FOREIGN KEY 참조되는 테이블에 칼럼 값이 항상 존재해야 함 NULL값은 허용된다 하지만 참조 무결성을 지키기 위해서 NULL값을 피하는 게 좋다 CHECK 저장 가능한 데이터 값의 범위와 조건을 지정하여 설정된 값만 허용 DEFAULT 해당 칼럼의 기본값을 설정

SQL/ORACLE SQL 2022.11.08

데이터 무결성 : Data integrity

개체 무결성 Entity integrity PRIMARY KEY (기본키) 제약조건 PRIMARY KEY (기본키) 에는 NULL 값이 올수 없다 PRIMARY KEY (기본키) 는 오직 하나의 값만 존재한다 => 중복하면 안된다 하나의 테이블내에 동일한 기본 키를 가진 레코드는 존재할수 없다 >> 기본키(PRIMARY KEY) ? 더보기 테이블에서 특정 레코드를 구별하기 위해 후보 키 중에서 선택된 고유한 식별자 키 참조 무결성 Referential integrity Foreign Key (외래키) 제약조건 Foreign Key (외래키) 는 NULL이거나 참조 릴레이션의 기본키 값과 동일해야한다 Foreign Key (외래키) 속성은 참조할수 없는 값을 지닐수 없다 Foreign Key (외래키) 속..

SQL/ORACLE SQL 2022.11.08

DML : 데이터 조작어 (SELECT, INSERT, UPDATE, DELETE)

DML : Data Manipulation Language 테이블에 행과 열을 조작하는 언어 대부분 질의어를 통하여 데이터를 실질적으로 처리하는 언어 SELECT : 검색 데이터베이스에 들어 있는 데이터를 조회하거나 검색 SELECT 컬럼 명 FROM 테이블 명 WHERE 조건 데이터를 전부다 보기 ( * ) SELECT * FROM 테이블 명 2022.11.01 - [SQL/ORACLE SQL] - SELECT : 검색 SELECT : 검색 TABLE EXAMPLE 사용 사원 테이블에 모든 요소 출력 * 은 모든요소를 출력 select * from employee; 사원 테이블 에 eno,ename 출력 select eno ,ename from employee; as (alias, 별명) 를 사용해 칼..

SQL/ORACLE SQL 2022.11.07

DDL : 데이터 정의어 (CREATE, ALTER, RENAME, DROP, TRUNCATE)

DDL : Data Definition Language 데이터베이스를 정의하는 언어 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 하는 언어 CREATE TABLE : 테이블 생성 CREATE TABLE 테이블명 ( 컬럼1 데이터 타입 , 컬럼2 데이터 타입); ALTER TABLE : 테이블 구조 변경 칼럼 추가 ALTER TABLE 테이블 명 ADD( 컬럼명 , 데이터 타입 ); 칼럼 삭제 ALTER TABLE 테이블명 DROP COLUMN 컬럼명; RENAME : 테이블 이름 변경 RENAME 테이블 명 TO 바꿀 테이블명; 뒤에 오는 테이블명은 기존에 존재하는 테이블명이 들어가면 안 됨 오류 ORA-00955: 기존의 객체가 이름을 사용하고 있습니다. DROP TAB..

SQL/ORACLE SQL 2022.11.07

SUB QUERY : 서브 쿼리 SELECT

쿼리문은 일반 적으로 select문 만을 지칭한다 서브 쿼리 (Sub Query) 쿼리문(서브 쿼리) 대체적으로 해석은 서브 쿼리 먼저 한다 서브 쿼리 위치는 select 다음에 또는 from 다음에 오기도 하고 어디서든 위치할 수 있다. 일반적으로는 where 문에 사용 문법 select select_list from table where ex_operator > (select select_list from table where ex_operator); 예제 --메인쿼리 select ename, salary from employee where salary > (select salary from employee --서브쿼리 where ename = '스콧'); 단일행 서브쿼리 다중행 서브 쿼리가 있다 단..

SQL/ORACLE SQL 2022.11.04

JOIN : 조인

JOIN 다른 테이블의 정보를 불러오고자 할 때 여러 개의 테이블에 저장된 데이터를 한꺼번에 조회할 필요성이 있을 경우 교차 곱의 형태로 불러오게 됨 (카디시안 곱) EQUI JOIN : 이퀴조인 내부 조인이라고도 한다 표준은 아니다(오라클에서만 가능) 문법 select table1.column,table2.column from table1,table2 where table1.column1=table2.column2 예제 select * from employee,department where employee.dno = department.dno; select employee.eno,employee.ename,department.dname,employee.dno from employee,department..

SQL/ORACLE SQL 2022.11.03

DECODE 와 CASE : 조건에 따른 값

DECODE 조건에 따라 다양한 선택 ( if문 ,switch 문과 비슷함 ) 사용법 select decode(컬럼A, 대상B, 출력X, 대상C, 출력Y, 디폴트 출력(defalt)Z) from 테이블이름; 예제 select ename,dno, decode(dno,10,'ACCOUNTING', 20,'RESERCH', 30,'SALES', 40,'OPERRATING', 'DEFALT') as dname from employee order by dno; 한글도 사용 가능 select ename 사원명 ,dno 부서번호, decode(dno,10,'회계', 20,'연구', 30,'판매', 40,'관리', 'DEFALT') as dname from employee order by dno; CASE select..

SQL/ORACLE SQL 2022.11.02