Basic/데이터베이스

1. 인덱스(Index)인덱스는 마치 책의 목차와 같이 특정 컬럼의 값을 기준으로 데이터를 빠르게 찾을 수 있도록 만든 보조 자료구조이다.인덱스는 테이블의 특정 컬럼 값을 기준으로 정렬된 구조를 유지해, 검색 성능을 향상시키도록 한다. 1-1. 인덱스 사용 이유1) 조회 속도 향상- WHERE, JOIN, ORDER BY, GROUP BY 등에 자주 사용되는 컬럼에 인덱스를 적용한다면(= 복잡한 쿼리 문) 전체 테이블을 탐색하는 Full Table Scan을 방지하고, 원하는 행에 빠르게 접근할 수 있다. 2) 시스템 자원 절약-> 쿼리 성능이 개선되면 디스크 I/O, CPU 사용량 등 시스템 자원의 소모가 줄어 전체적인 효율이 높아진다. 3) 대용량 데이터 처리-> 수십만, 수백만 건 이상의 데이터가 ..
1. 이상현상(anomaly)테이블 설계가 잘못됐을 때 발생하는 문제들을 말한다. 예를 들면, 데이터 삽입시 불필요한 NULL이 삽입되거나, 삭제할 때 예상하지 못한 필요한 데이터가 삭제되거나, 수정할 때 데이터의 일관성이 깨지는 현상을 데이터베이스의 이상현상이라고 한다. 삽입, 삭제, 수정 이상이 있는데 하나씩 알아보자. 1-1. 삽입 이상(Insertion Anomaly)삽입 이상은 위에 언급한 것 처럼, 특정 열에 해당하는 값이 없어 필요하지 않은 NULL을 강제로 입력해야 하는 현상을 의미한다.학생 ID학생 이름동아리20162323가댄스 동아리20102323나심리 동아리201839434다NULL -> 학생 정보 및 동아리 정보가 있는 테이블에서 기존에 '가', '나' 학생 정보만 삽입된 상태였다..
1. 데이터 베이스 검색데이터베이스 검색은 데이터베이스에 저장된 데이터를 사용자가 원하는 조건에 따라 탐색하고 가져오는 작업을 의미한다. 검색에 있어서 다음과 같은 구조를 사용하는데, 하나씩 알아보자.SELECT [DISTINCT] column1, column2, ...FROM table_name[JOIN table2 ON 조건][WHERE 조건][GROUP BY column1, column2, ...][HAVING 조건][ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...][LIMIT 숫자] [OFFSET 숫자]; SELECT 절-> 검색하고자 하는 열(컬럼)을 지정한다.-> DISTINCT 옵션을 사용해 중복된 결과를 제거할 수 있다.SELECT * FROM..
1. 데이터 입력데이터베이스에서 데이터를 입력한다는 것은 테이블에 새로운 행(row)을 추가하는 것을 의미한다.데이터 입력 작업은 INSERT 문을 통해 수행된다.INSERT INTO 테이블명 (열1, 열2, ...)VALUES (값1, 값2, ...); 이때, 각 열의 데이터 타입과 값이 일치해야 한다.또한, 기본키, UNIQUE, NOT NULL 등의 제약 조건을 확인해서 입력해야 한다.1-1. 기본 데이터 입력 단일 행 삽입INSERT INTO students (id, name, age, major)VALUES (1, '가', 20, '컴퓨터공학'); 열 이름 생략INSERT INTO studentsVALUES (2, '가', 21, '경영학');다중 행 삽입INSERT INTO students (..
알파카임
'Basic/데이터베이스' 카테고리의 글 목록