프로그래밍 언어/데이터베이스(SQL, MARIADB)
-
데이터베이스 시험프로그래밍 언어/데이터베이스(SQL, MARIADB) 2024. 3. 4. 16:43
테이블의 구조 ■ DDL (Data Defineition Language) : CREATE, ALTER, DROP, RENAME - 데이터베이스의 구조를 정의하는 언어이다 ■ DML (Data Manipulation Language) : INSERT, UPDATE, DELETE, SELECT - 테이블에서 데이터를 삽입, 수정, 삭제, 조회한다 ■ DCL (Data Control Language) : GRANT, REVOKE - 데이터베이스에서 사용자에게 권한을 부여하거나 회수한다 ■ TCL (Transaction Control Language) : COMMIT, ROLLBACK - 트랜잭션을 제어하는 명령이다 DCL ( Data Control Language ) ◆ 데이터를 사용하거나 유저를 관리하는 ..
-
20일차 - 정규화프로그래밍 언어/데이터베이스(SQL, MARIADB) 2024. 2. 22. 09:22
모든 정규화는 이전 정규화를 만족해야한 제 1 정규화 ■ 모든 항목에 값이 없어야 하며, 중복열이 없어야한다 ■ 없거나 많을 경우 대응되냐 -> 실무에서는 오히려 NULL 이 들어가야할 수도 있다 전화번호 하나만 들어가면 다른 값이 NULL 이고, 하나를 두개를 중복해서 만들어진 여러가지 상황, 하나 들어가는지 아무것도 안들어가지는지 없을수도 딱 하나 있을때 식별 없을수도 여러개 있을 수 도 있는 경우 비식별 논리적 설계 아기가 태어났을때 태명으로 그 사람의 평생의 이름이 되진 않지만, 물리적 설계전까지 쓰인다 제 2 정규화 개체의 속성이 한 식별자에 종속되어야 한다 -> 한 컬럼에 한 기본키를 사용해야한다, 복합키보다 단일키를 사용해야한다 애지간하면 자제해라 -> 설계는 뭐다 끼워맞추지 말고 유연하게 ..
-
19일차 - INDEX, IN, EXISTS, VIEW프로그래밍 언어/데이터베이스(SQL, MARIADB) 2024. 2. 19. 11:26
INDEX ■ 인덱스는 책의 색인처럼 데이터베이스에서 검색을 빠르게 해주기 위한 목록이다 ■ PK 나 FK 가 이미 색인되어있는지 걸려있는지 확인하고, 인덱스를 추가하자 ■ 데이터가 많을 경우, JOIN 이 많이 사용되는 경우 □ 데이터가 적을 경우, 삽입, 갱신, 삭제가 빈번하게 일어나는 경우 불필요하다 /* index */ -- 1) 고유 인덱스(UNIQUE INDEX) -- ★ PK 나 UNIQUE KEY 를 걸어주면 자동으로 생성되는 인덱스이다 -- 인덱스 생성시 중복 데이터를 삽입/추가하면 에러를 발생시킨다 -- CREATE UNIQUE INDEX [인덱스의 이름] ON [테이블의 이름](컬럼) create unique index emp_ename_idx on emp(ename); -- SQL ..
-
18일차 - 서브쿼리, 조인, 집합프로그래밍 언어/데이터베이스(SQL, MARIADB) 2024. 2. 16. 13:31
서브쿼리 서브쿼리는 쿼리 안의 쿼리라는 뜻이다 사전에 추출된 내용에서 재 검색하거나, 검색된 내용을 가상의 컬럼을 만들어 추가할 수 있다 서브쿼리를 사용하는 이유 ■ 추출된 결과에서 재 검색할시 유용하다 ■ 검색된 내용을 가상의 컬럼으로 한눈에 알기 쉽게 확인할 수 있다 □ 서브쿼리가 길어지고, 많아질수록 코드가 복잡해져 어떤 결과를 조회하는지 알기 어려워진다 서브쿼리 종류 ■ 단일 행 서브쿼리, 결과는 반드시 한행으로만 조회해야한다 안그러면 오류 발생 ■ 다중 행 서브쿼리, IN, ALL 등 으로 여러 개의 행을 조건절을 사용할 수 있다 서브쿼리 위치 ■ SELECT 문에서 조회되는 컬럼에 위치하면, 새로운 컬럼으로 조회된다 ■ 참조하려는 테이블에 위치하면, 별칭을 붙여주면 테이블처럼 조회되어 조회된다..
-
17일차 - 컬럼의 제약조건프로그래밍 언어/데이터베이스(SQL, MARIADB) 2024. 2. 15. 17:37
제약조건(DDL) ■ 컬럼에 데이터를 넣을 때 특정한 조건을 만족시켜야 넣을 수 있다 1) PRIMARY KEY ■ A) UNIQUE : 컬럼안의 데이터의 중복을 허용하지 않는다 ■ B) NOT NULL : 데이터를 입력하지 않고 비워둘 수 없다 ■ C) 테이블 종속적이다 한 테이블에 하나의 데이터만 존재한다 ★ 예를 들어 이름이 동일한 사람에게 이름을 부르면 둘다 대답할 것이다. 이렇게 되면 두명은 누구를 부른것인지 헷갈린다 두명에게 고유번호를 부여하고 똑같은 번호를 다른 사람에게 주지 않고 변경하지 않는다면, 번호를 부르면 그에 해당하는 사람이 대답을 할 것이다 /* 제약 조건 */ -- 1) PRIMARY KEY (기본키 제약조건) -- a) 새로운 테이블을 생성할때 조건을 추가한다 use mydb..
-
16일차 - 트랜잭션과 관련된 명령문프로그래밍 언어/데이터베이스(SQL, MARIADB) 2024. 2. 15. 16:06
트랜잭션 ■ 트렌젝션은 데이터베이스에서 사용되는 쪼갤 수 없는 업무처리 단위이다 ■ 하나의 작업 내부의 과정이 잘못되면 전부 취소 되어야한다 트랜잭션의 이해 은행의 출금과 송금의 트랜젝션 A 의 계좌의 잔액을 확인한다 잔액에서 백만원을 뺀다 B 의 계좌를 확인한다 -> 오류 발생시 rollback B 의 계좌 잔액을 확인한다 잔액에 백만원을 더한다 트랜잭션과 관련된 명령문 ■ commit 과 rollback 은 데이터(DML)에 한정 된다 ■ DCL, DDL 은 트랜젝션이 해당되지 않고 절대로 되돌릴 수 없다 Rollback ■ 돌돌 말아서 뒤로 간다 ■ 트랜잭션 시작 이전의 상태로 되돌리는 것 Commit ■ 트랜잭션 도중 오류가 발생하지 않았다면 데이터를 데이터베이스에 반영시키는 것 AutoCommi..
-
14,15일차 - 데이터베이스 DDL, DCL, DML프로그래밍 언어/데이터베이스(SQL, MARIADB) 2024. 2. 13. 18:31
테이블의 구조 Column : 데이터를 저장하기 위한 필드 또는 속성이라고도 한다 Row : 하나의 테이블에 저장되는 값으로 튜플이라고도 한다 SQL 의 종류 ■ DDL (Data Defineition Language) : CREATE, ALTER, DROP, RENAME - 데이터베이스의 구조를 정의하는 언어이다 ■ DML (Data Manipulation Language) : INSERT, UPDATE, DELETE, SELECT - 테이블에서 데이터를 삽입, 수정, 삭제, 조회한다 ■ DCL (Data Control Language) : GRANT, REVOKE - 데이터베이스에서 사용자에게 권한을 부여하거나 회수한다 ■ TCL (Transaction Control Language) : COMMIT..