목록전체 글 (269)
Coding Planet
SQL의 연산자는 특정한 우선순위를 가지고 있다. 이 우선순위는 대부분의 RDBMS에서 일관되게 적용되나, 특정 RDBMS에 따라 약간의 차이가 있으므로 항상 해당 RDBMS의 공식 문서나 메뉴얼을 참고하는 것이 좋다.일반적인 SQL연산자의 우선순위는 다음과 같다. 1. 괄호- 가장 높은 우선순위이다. 괄호 안의 연산이 가장 먼저 수행된다. 2. 부정연산자(NOT) 3. 산술 연산자 - 곱하기, 나누기, 계수, 더하기, 빼기 4. 문자열 연결 연산자- ORACLE의 "||" , SQL Server에서 "+" 5. 비교 연산자와 SQL 비교 연산자- 비교 연산자 : =, >, =, , !=, ...- SQL 비교 연산자 : BETWEEN A AND B, IN, LIKE, IS NULL 6. 논리 연산자 ..
데이터베이스에서 트랜잭션의 격리성(Isolation)이 낮은 경우, 여러 트랜잭션들이 동시에 실행될 때 서로 간섭할 수 있다. 이로 인해 발생할 수 있는 문제점들은 다음과 같다. ** 격리성(고립성, Isolation) : 트랜잭션이 실행되는 도중에 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들면 안된다는 트랜잭션의 원칙 | Dirty Read (더티 리드) 한 트랜잭션에서 아직 커밋되지 않은 변경을 다른 트랜잭션이 읽을 수 있다. 이로 인해 잘못된 데이터나 일관성이 없는 데이터를 읽게 될 수 있다. | Non-repeatable Read (비반복 읽기) 한 트랜잭션 내에서 같은 쿼리를 두 번 수행했는데, 그 사이에 다른 트랜잭션이 값을 수정 또는 삭제하는 바람에 두 쿼리 결과가 다르게 나타나는 현상을..
DELETE TRUNCATE DROP 테이블 데이터 삭제 O O O 테이블 스키마 삭제 O X O 디스크 용량 초기화 X O X 테이블이 사용했던 Storage를 즉시 Release 로그 남기기 O X X 종류 DML DDL DDL ROLLBACK 가능여부 Commit 이전에는 가능 불가능 불가능 Commit Auto Commit Auto Commit 사용자 Commit * 디스크 용량 초기화 : 저장 공간을 재사용 가능하도록 해제한다. ** 로그남기기 : 삭제에 대한 로그를 남기는 것. DELETE는 삭제 로그가 남는다. DELETE를 사용할 경우 데이터를 삭제하더라도 실제로 디스크에서 사용하는 공간이 즉시 해제되는 것은 아니다. 데이터베이스가 재사용 수 있도록 디스크 공간을 남길수 있다. 특히 DEL..
데이터베이스는 데이터의 무결성과 일관성을 유지하기 위해 다양한 제약 조건을 사용한다. 자주 쓰이고 SQLD에도 기출인 CASCADE, RESTRICT, AUTOMATIC, DEPENDENT에 대해 알아보자 | CASCADE: CASCADE 옵션은 주로 외래 키 제약과 함께 사용된다. 사전적 의미는 '폭포처럼 흐르다'이다. 즉 부모 테이블의 변동이 자식테이블에게 까지 영향을 미친다는 의미이다. 부모 테이블의 레코드가 삭제되거나 수정될 때, CASCADE 옵션을 설정한 자식 테이블의 관련 레코드도 자동으로 삭제 또는 수정된다. 예: 고객 테이블에서 고객 정보를 삭제할 때 해당 고객과 관련된 주문테이블의 주문 내역도 함께 삭제되는 경우. | RESTRICT: RESTRICT 옵션은 부모 테이블의 레코드에 대한..
`ALTER TABLE 테이블명 DROP COLUMN 컬럼명;` 명령어를 사용하면 해당 컬럼 자체가 테이블에서 사라진다. 따라서 해당 컬럼과 그 컬럼에 저장된 모든 데이터가 삭제된다. ALTER TABLE EMP DROP COLUMN COMM;
1. Oracle -- 자료형 바꾸기 ALTER TABLE table_name MODIFY column_name DATE; --컬럼명 바꾸기 ALTER TABLE table_name RENAME COLUMN old_column_name TO new_column_name; 2. SQLServer SQL Server에서는 직접적으로 칼럼 이름을 변경하는 SQL 명령어가 없다. 대신 sp_rename이라는 저장 프로시저를 사용할 수 있다. -- 자료형 바꾸기 ALTER TABLE table_name ALTER COLUMN column_name DATE; --컬럼명 바꾸기 EXEC sp_rename 'table_name.old_column_name', 'new_column_name', 'COLUMN';
employees 테이블을 생성할 때 주키를 설정할 때는 'CONSTRAINT'절을 쓴다. 'CONSTRAINT' + '제약조건이름' + PRIMARY KEY ('기본키로 지정할 컬럼이름') CREATE TABLE employees ( employee_id NUMBER(10) NOT NULL, first_name VARCHAR2(50), last_name VARCHAR2(50), email VARCHAR2(100), hire_date DATE, CONSTRAINT emp_pk PRIMARY KEY (employee_id) );
1과목 데이터 모델링의 이해 I. 데이터 모델과 성능 | 성능 데이터 모델링의 개요 성능 데이터 모델링 : DB 성능향상을 위한 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인구조, PK, FK 등 여러 가지 성능과 관련한 사항이 데이터 모델링에 반영되도록 하는 것 수행시점 : 분석/설계 단계, 성능 데이터 모델링 시점이 늦어질 수록 재업무 비용이 증가한다. 즉, 사전에 할수록 저렴하다. 고려 사항 : 정규화 수행, DB 용량 산정과 트랜잭션 유형 파악등을 위한 반정규화 수행 여부 결정 -> 정규화는 반드시 해야한다. - 성능 데이터 모델링 고려사항 1) 데이터 모델링을 할 때 정규화를 정확하게 수행한다. 2) 데이터베이스 용량산정을 수행한다. 3) 발생되는 트랜잭션의 유형을 파악한다. 4) 용량과..
1과목 데이터 모델링의 이해 I. 데이터 모델링의 이해 | 데이터 모델링 정보 시스템을 개발하는 과정에서 필요한 데이터의 구조와 관계를 표현하는 과정이다. 다시 말해, 데이터 모델링은 현실세계의 정보, 이벤트, 엔터티, 관계 등을 추상화, 단순화 하여 데이터베이스나 애플리케이션에서 사용될 수 있는 상태로 변화되는 과정이다. - 데이터 모델링의 특징 추상화 : 데이터 모델링은 실세계의 복잡한 데이터를 일정 형식에 맞게 표현한다. 단순화: 모델링 과정에서 필요하지 않은 세부 정보는 생략되며 중요한 정보만이 포함된다. 명확성 : 모델이 명료하고 모호함이 없어 정확하게 표현되어야 한다. - 데이터 모델링의 관점 데이터 관점 : 업무와 데이터 및 데이터 사이의 관계를 의미한다. ERD와 같은 도구를 사용하여 표현..
✨ 문제 💻코드 class Solution { public String solution(String[] cards1, String[] cards2, String[] goal) { return canForm(goal, cards1, cards2, 0, 0, 0)? "Yes" : "No"; } private static boolean canForm(String[] goal, String[] cards1, String[] cards2, int idxGoal, int idx1, int idx2){ if(idxGoal == goal.length){ return true; //base case } if(idx1 < cards1.length && cards1[idx1].equals(goal[idxGoal])){ if..