728x90

DataBase 15

트랜잭션과 무결성

트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 논리적 단위 데이터베이스의 상태를 변화시킨다는 말은 SELECT, INSERT, UPDATE, DELETE 등과 같은 쿼리를 사용하는 행동을 의미 의미 1. 트랜잭션은 데이터베이스에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위 2. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위 3. 하나의 트랜잭션은 Commit 되거나 Rollback 된다. 특징 트랜잭션의 4 가지 특징 원자성( Atomicity ), 일관성( Consitency ), 독립성( Isolation ), 지속성( Durability ) => ACID 1. 원자성 (Atomicity) 트랜잭션의 작업이 부분적으로 실행..

DataBase 2023.10.20

[MySQL] 계정 생성 및 권한 부여

본문에서 다루는 MySQL 버전은 5.6 버전이며 5.7 버전부터 일부 변경 된 사항이 있음!!! 계정 생성) mysql -u root -p 를 입력하여 MySQL 에 접속 그 다음, 스키마를 mysql 로 변경하겠다. use mysql; 를 입력합니다. 지금부턴 SQL 질의문 이기 때문에 마지막에 세미콜론(;) 을 붙여야한다. mysql 스키마에 테이블 구성을 알아보겠습니다. show tables; 를 입력합니다. 여기서 계정에 관련 된 정보를 관리하는 테이블은 user 테이블 이다. select host, user, password from user; 를 입력하여 계정정보를 조회 ** MySQL 5.7 부터 user 테이블에 password 컬럼이 삭제되고 authentication_string 컬럼..

DataBase 2021.04.22

Oracle과 MySQL의 큰 차이점

1. NULL값확인함수가 다르다. ORACLE에서는 NVL함수를 사용하지만 MYSQL에서는 IFNULL을 사용 (ORACLE) SELECT NVL(USER_ID,'') FROM KGON (MYSQL ) SELECT IFNULL(USER_ID,'') FROM KGON 2.현재날짜시간 확인하는 방법이 다르다. ORACLE에서는 SYSDATE를 사용하지만 MYSQL에서는 NOW()함수를 사용 (ORACLE) SELECT SYSDATE FROM DUAL; (MYSQL ) SELECT NOW() FROM DUAL; 3.날짜포멧 변환방법이 다르다. ORACLE에서는 날짜를 STRING으로 변경시 TO_CHAR()함수를 사용하지만 MYSQL에서는 DATE_FORMAT()함수를 사용 (ORACLE) SELECT TO_..

DataBase 2021.04.22

[Oracle] 제약조건

무결성 제약조건 테이블에 부적절한 자료가 입력(INSERT,UPDATE) 되는 것을 방지하기 위해서 테이블 생성할 때 각 컬럼에 대해서 정의하는 여러가지 규칙, (테이블 생성 후에도 규칙 정의 가능) NOT NULL 해당 컬럼값으로 NULL을 허용하지 않음 (행 단위) 입력시 데이터를 무조건 받음 유일하지 않고 반드시 입력, 수정해야 하는 컬럼에 설정 UNIQUE 테이블내에서 해달 컬럼값은 항상 유일무이한 값을 가질 것 중복을 허용하지 않음 중복데이터 방지, 하지만 NULL의 중복은 방지하지 못함. ADD NOT NULL은 불가능 => 테이블 내의 모든 컬럼은 특별한 설정(NOT NULL또는 PRIMARY KEY)을 하지 않았을 경우 NULL값이 기본 설정 PRIMARY KEY(기본키) 해당 컬럼값은 반..

DataBase 2021.04.16

[Oracle] 시퀀스(Sequence)

시퀀스(SEQUENCE) 오라클에서는 행을 구분하기 위해서 기본키(PK)를 두고 있다. 기본키는 중복된 값을 가질 수 있으므로 항상 유일한 값을 가져야 하고, 기본키가 유일한 값을 갖도록 사용자가 직접 값을 생성해내려면 불편하기 때문에 시퀀스를 사용 시퀀스는 테이블 내의 유일한 숫자를 자동으로 생성하는 자동번호 발생기이므로 시퀀스를 기본키로 사용하게 되면 사용자의 부담을 줄일 수 있다. 즉) -순차적으로 증가하는 값 -유일한 값으로 사용가능 -NUMBER 타입의 컬럼이 PK로 지정될때 시퀀스를 이용할수도 있습니다. -테이블과는 독립적인 구조 시퀸스를 사용하기 위한 조건) 서브 쿼리가 아닌 select문 insert문의 select절 insert 문의 value절 update문의 set 사용할 수 없는 경..

DataBase 2021.04.14

[Oracle] LIKE 연산자

LIKE 연산자 => 비교 '=' 대신 like => 특정 문자열에 대해서 일부분만 일치하는 경우를 찾아야 할 때 사용 구문 : where 필드이름 like 문자열패턴 -> 절대로 '='를 사용하지 않음 %검색어 => 검색어로 끝나는 것 찾는거 %검색어% => 검색어를 포함하는 것을 찾음 검색어% = 검색어로 시작하는 것을 찾음 _ _ _ => 3가지를 비교하겠다 (붙여서 사용하는것) _ _ _% '김'씨 성을 가진 학생 이름출력 하기 SQL> select name, address 2 from student 3 where name like '김%'; NAME ADDRESS -------------------- -------------------- 김광식 서울 김정현 서울 김현정 대전 김현정 대구 김우주 ..

DataBase 2021.04.09

SQL (DDL/DML/DCL/TCL)

SQL(Structured Query Language) : 표준 질의어로 관계형 질의언어 구조적 질의 언어(Structured Query Language)의 줄임말로 관계형 데이터베이스 시스템에서 자료를 관리 및 처리하기 위해서 설계된 언어 -> 1986년 ANSI와 ISO에서 표준 질의어로 채택 : 자연어와 유사하고 비절차적 언어 DDL(Data Definition Language) : 데이터 정의 언어 -> 데이터 저장 구조를 명시하는 언어 -> 테이블 스키마의 정의, 수정, 삭제 create // alter // drop // rename // truncate 분류 표준 SQL 오라클 설명 문자 char(n) char(n) 길이가 n byte 고정길이 문자열 (오라클경우 최대 2000byte ) v..

DataBase 2021.04.09

관계형 데이터베이스

데이터 모델 : 물리적 혹은 추상적으로 존재하는 현실세계를 단순화되고 정형화된 형태로 표현하는 하나의 방식 또는 규범 관계형 데이터 모델(Relational Data Model) : 테이블 형식을 이용하여 데이터들을 정의하고 설명한 모델 ( Table -> Relation) 관계형 데이터베이스(Reational DataBase) : 관계형 데이터 모델에 기반하여 하나 이상의 테이블로 표현한 데이터베이스 => 관계형 데이터 모델이라는 추상적인 도구를 이용하여 표현한 것 관계형 데이터베이스가 하나 이상의 테이블로 구성되어 있을 때 -> 데이터베이스 스키마 = 테이블 스키마의 집합 -> 데이터베이스 인스턴스 = 테이블 스키마들에 대한 테이블 인스턴스의 집합 릴레이션(Relation) : 2개 이상의 집합으로부..

DataBase 2021.04.08
728x90