일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- libasm
- CI
- IOS
- Xcode
- DBMS
- AI
- 인공지능
- swift
- 소켓
- 스프링부트 웹 소켓
- MySQL
- 아이패드다이어리
- 스프링부트
- 다이어리
- 리눅스
- 데이터베이스
- 스프링
- 네트워크
- sql
- CD
- Spring
- 오블완
- JPA
- javascript
- springboot
- 티스토리챌린지
- 프로그래밍언어론
- 42seoul
- jenkins
- 오라클
- Today
- Total
목록데이터베이스/Oracle (7)
Hi yoahn 개발블로그
7장. CONSTRAINT 제약조건1. 제약조건1) 제약조건이란?- 테이블에 올바른 데이터만 입력받고 잘못된 데이터는 들어오지 못하도록 컬럼마다 정하는 규칙을 의미 제약 조건의 종류조건 이름의미NOT NULL해당 컬럼은 NULL 값이 입력될 수 없다.UNIQUE중복된 값이 입력될 수 없다PRIMARY KEY ★ 테이블당 한 개만 설정 가능FOREIGN KEY다른 테이블의 컬럼을 참조해서 검사CHECK이 조건에서 설정된 값만 입력 허용, 나머지는 거부2) 외래키란?두 개의 테이블을 서로 참조하도록 설정됨- 자식테이블이 부모 테이블에 있는 특정 컬럼을 참조하는 것- 자식 테이블에서 참조하는 부모테이블의 컬럼은 참조키라고 한다.- 참조하려는 컬럼은 unique - 부모에 없는 값을 입력하려고 하면 ERROR ..
1. INSERT 1) INSERT 를 사용하여 1행씩 입력하기 INSERT INTO 테이블명 [(삽입할 컬럼명 list)] VALUES (value_list); - 컬럼에 값을 부여하지 않으면 자동으로 null 값이 들어감 2) INSERT와 서브쿼리를 사용하여 여러 행 입력하기 INSERT INTO 테이블명 SELECT * FROM 테이블명; - WHERE 절을 사용하여 조건에 맞는 행만 넣을 수도 있다. 3) INSERT ALL 여러 테이블에 여러 행 입력하기 - 다른 테이블의 데이터를 가져와서 입력하기 EX) 테이블에서 교수번호가 1000 - 1999 번까지인 교수 번호&교수 이름은 prof_3 테이블에 입력 교수번호가 2000 - 2999 번까지인 교수 번호와 이름은 prof_4 에 입력 > I..
DDL : CREATE, ALTER(수정), TRUNCATE(잘라내기), DROP(삭제) 1. CREATE1.1 일반 테이블 생성하기CREATE TABLE new_table( no NUMBER(3), name VARCHAR2(10), birth DATE); - 기본 입력값을 설정하면서 생성하려면..no NUMBER(3) DEFAULT 0DEFAULT 키워드 뒤에 값을 주면 된다. 테이블 생성 시 제한사항- 테이블 이름은 반드시 문자로 시작- 테이블/컬럼 이름 -> 30바이트- 테이블 이름 -> 사용자 한명당 테이블 식별자 하나- 테이블 이름/오브젝트 이름 -> 오라클 키워드 사용하지 않기 1.2 임시 테이블 생성하기 (Global Temporary Table)- 실제 데이터를 저장하지 않고 테스트 등 임..
정규화 - 하나의 테이블을 더 작은 테이블로 분리하여 중복을 최소화한다. - 다수의 컬럼으로 구성된 테이블을 논리 덩어리별로 작은 테이블로 분할 - 장점: 데이터베이스 변경시 이상 현상 제거 비정규화 - 정규화의 반대, 중복 허용 - 장점: 조회 성능 향상 -> 중복을 허용해서 자주쓰이는 결과물들을 미리 테이블에 만들어서 컬럼화 해둠 -> 조회 성능 극단적으로 좋아질 수 있다. JOIN: 정규화 후 여러 테이블에 흩어진 데이터들을 조합해서 가져오는 기술 *** 선행, 후행 테이블 조인 수행 시 둘 중 하나의 테이블을 먼저 읽고 조인 조건절을 확인하여 첫번째 테이블을 먼저 읽고 각 행마다 조인 조건절을 확인하여 나머지 테이블에서 데이터를 가져옴 1. 카티션 곱 조인 대상 테이블들의 조건이 누락되었을 경우 ..
행의 그룹에 대해 출력을 제공---요약---1. 집계함수- 행들의 그룹에 대해 하나의 행 결과를 생성 ( 하나의 그룹 - 하나의 행 )- group by 를 생략하면, 전체 테이블에 대해 집계를 수행- 개별 행에는 수행되지 않음- 그룹에 속한 행만큼 결과를 출력- having 절로 그룹핑한 조건을 검색 - rollup: n+1 소계 -> n개의 컬럼 지정 (뒤의 컬럼을 하나씩 제거하면서(~grand total) 그룹 생성)- cube: 2^n 모든 소계 -> 가능한 모든 컬럼의 조합을 grouping- grouping sets: n개의 그룹 구성 2. 분석 함수- 행들의 그룹에 대해 여러 행 결과를 생성 (하나의 그룹 - 여러행 결과 )- 분석 함수에 추가 인자가 필요- 분석 절이 over 필요- 그룹에..
단일행 함수: 여러 건의 데이터를 한번에 하나씩 처리하는 함수 복수행 함수: 여러 건의 데이터를 동시에 입력 받아 결과값 1건을 만들어 주는 함수 (그룹 함수) 1. 문자 함수# INITCAP( 문자열 or 컬럼명 )영어에서 입력 값의 첫 글자만 대문자로 반환하고 나머지는 전부 소문자로 출력하는 함수- 중간에 공백이 있을 경우 공백 다음을 첫글자로 생각해서 대문자로 출력SELECT INITCAP(name) initcap FROM professor WHERE deptno = 101; -------------------- INITCAP ---------------------- Olivia Lauren Audie Murphy # LOWER(문자열/컬럼명)입력 값을 전부 소문자로 변환 # UPPER(문자열/컬럼..
- 데이터베이스에 데이터가 저장되는 단위는 테이블 1. 모든 칼럼 조회하기 - SELECT * FROM emp; 2. 참고 * DESC 테이블명; 테이블 구성을 보여줌 속성명, 기본키, 데이터 타입 * 해당 사용자가 만든 모든 테이블 조회하기 SELECT * FROM tab; - 오라클에 예약되어있는 tab 테이블 -> 해당 사용자가 만든 모든 테이블에 대한 정보를 가지고 있는 테이블 * 데이터 조회시 출력형식 조절하는 명령어 - 데이터가 숫자일 경우 COL empno FOR 9999 : empno라는 숫자를 다루는 칼럼의 경우 숫자 4자리(9999)까지 들어가게 설정 - 데이터가 문자인 경우 COL ename FOR a8 : ename이란 칼럼의 길이를 8바이트까지 들어가게 설정 - 한 화면에 출력 가..