일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- Linux
- Security
- 1253번
- 1967번
- Unreal
- 1759번
- UActor
- UnrealMP
- 백준 1253번
- objtofbx
- 오손데이터읽기
- OS
- 데이터베이스 배움터
- 백준
- 5639
- hackerank
- 셰그먼트트리
- 비재귀셰그먼트
- 언리얼 플러그인
- 민겸수
- C++
- 의미와 무의미의 경계에서
- 언리얼 커스텀 플러그인
- 실습
- SQL
- 2단계로킹
- FBX
- 트랜잭션 관리
- oracle
- command not found
- Today
- Total
목록컴퓨터 공학/Database 데이터베이스 (6)
fatalite
트랜잭션 트랜잭션이란, 데이터베이스에 요청되는 질의들의 논리적 단위이다. 트랜잭션은 다음 4가지 특성(ACID)을 가지고 있어야한다. Atomic : ALL or Nothing, 트랜잭션이 절반만 이뤄지는 경우가 없어야한다는 것이다. 즉, 더이상 나누어질 수 없는 단위를 의미한다. Consistency : 트랜잭션이 일어나기 전과 후는 또 다른 일관된 상태를 가지고 있다. 여기서 일관된 상태란, 데이터베이스의 무결함을 유지한다는 뜻이다. Isolation : 고립되어있다. 즉, 트랜잭션은 서로의 존재를 모른다고 가정한다. Durability : 지속된다. 트랜잭션이 한 번 완료된다면, 번복되지 않는다. DBMS는 이를 회복 모듈로 달성하게 된다. COMMIT은 모든 트랜잭션이 끝났다는 뜻이다. ROLLB..
뷰란 뷰란 릴레이션을 이용한 가상 릴레이션이다. 하나 혹은 여러 개의 릴레이션을 가공해서 인터페이스처럼 제공하는 것이다. 뷰는 다음과 같은 명령어로 생성할 수 있다. CREATE VIEW view_name (attr1, attr2, ...) AS SELECT ~ WITH CHECK OPTION WITH CHECK OPTION은 튜플 삽입시 조건을 명시한다. 따라서 뷰의 장점은 다음과 같이 나열할 수 있다. 간단함 무결성 독립성 보안성 뷰의 갱신을 하는 방법이다. 기존 테이블과 같이 INSERT, UPDATE될 수 있다. 그러나, 뷰의 원래 릴레이션의 무결성 제약조건을 만족하지 않으면 거절된다. 예를 들어 원래의 릴레이션의 기본키를 포함하지 않는다. 원래의 릴레이션에 NOT NULL이 붙었는데, NULL ..
무결성 제약 조건 및 키 제약 조건 테이블 만들 때 조건 걸기(CREATE TABLE) CREATE TABLE users(user_id int primary key, password int check(password >= 0)); create table users(user_id char(64), constraint pk primary key user_id); CREATE TABLE 테이블_명 ( 컬럼명_첫번째 자료형 제약 조건 , ...); 제약 조건 이름 따로 없는듯? CREATE TABLE 테이블_명 ( 컬럼명_첫번째 자료형, CONSTRAINT 제약_조건이름 제약_조건키워드(PARAMETER) ); 추가적으로 할 때(ALTER TABLE) ALTER TABLE users add phone_numbe..
#1 SELECT LAST_NAME, HIRE_DATE FROM EMPLOYEES WHERE DEPARTMENT_ID = (SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE LAST_NAME = 'Zlotkey') AND LAST_NAME 'Zlotkey'; #2 SELECT EMPLOYEE_ID, LAST_NAME FROM EMPLOYEES WHERE SALARY > (SELECT AVG(SALARY) FROM EMPLOYEES) ORDER BY SALARY; #3 SELECT EMPLOYEE_ID, LAST_NAME FROM EMPLOYEES WHERE DEPARTMENT_ID IN (SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE LAST_NAME..
#1번 문제 select e.last_name, e.department_id, d.department_name from employees e, departments d where e.department_id = d.department_id; #2 select e.job_id, d.location_id from employees e, departments d where e.department_id = 80 AND e.department_id = d.department_id group by e.job_id, d.location_id; #3 select e.last_name, d.department_name, d.location_id, l.city from employees e, locations l, dep..
select * from employees; #1번 문제 select max(salary) as "Maximum", min(salary) as "Minimum", sum(salary) as "Sum", round(Avg(salary)) as "avg" from employees; #2번 문제 select JOB_ID, max(salary) as "Maximum", min(salary) as "Minimum", sum(salary) as "Sum", round(Avg(salary)) as "avg" from employees group by JOB_ID order by JOB_ID; #3번 문제 select JOB_ID, count(JOB_ID) as "count" from employees group b..