본문 바로가기

Programming/Database System25

정규화 목차 정규화의 필요성 (목적) 함수적 종속성 정규화 정규화의 필요성 (목적) 아래와 같이 축구선수의 정보를 기입한 릴레이션 (테이블)이 있습니다. 만약 소속팀 속성 "맨체스터시티"의 팀명이 변경된다면 어떤 작업이 이루어져야 할까요? 변경하려는 데이터는 1개인데, 수정해야 할 레코드 수는 3개입니다. 아래와 같이 분리한다면 어떨까요? 팀 관련 테이블로 분리하고, 해당 테이블에서 관리하는 것입니다. 이와 같은 작업을 정규화라고 합니다. 정규화 목적 데이터의 일관성 유지 (무결성) 저장공간 확보 (중복 데이터 제거) 갱신 이상 해소 갱신 이상 삽입 이상 : 레코드를 추가하려고 할때, 필요치 않은 컬럼 값까지 포함하여 추가해야 하는 경우 삭제 이상 : 레코드 삭제 시 의도하지 않은 다른 컬럼의 값까지 삭제되는 .. 2022. 5. 2.
SQL (2) - 데이터 검색, SELECT 2022.03.23 - [개발/데이터베이스 시스템] - SQL (1) - 데이터베이스 객체와 DDL, DML SQL (1) - 데이터베이스 객체와 DDL, DML 목표 데이터베이스 언어를 이해할 수 있다. 데이터베이스 정의 언어와 조작어를 이해한다. 목차 데이터베이스 언어 데이터베이스 객체와 스키마 DDL, 데이터베이스 객체 DML 데이터베이스 언어 kghworks.tistory.com 이어지는 포스팅입니다. 목차 데이터 검색 조인 질의 뷰 데이터 검색 SELECT문의 기본구조입니다. SELECT ... FROM ... WHERE ... GROUP BY ... (생략 가능) HAVING ... (생략 가능) ORDER BY .. (생략 가능) 각 절의 역할 SELECT : 결과에 포함될 컬럼을 명시 FR.. 2022. 4. 4.
SQL (1) - 데이터베이스 객체와 DDL, DML 목표 데이터베이스 언어를 이해할 수 있다. 데이터베이스 정의 언어와 조작어를 이해한다. 목차 데이터베이스 언어 데이터베이스 객체와 스키마 DDL, 데이터베이스 객체 DML 데이터베이스 언어 위와 같은 데이터베이스 환경에서 사용자는 뷰를 통해 데이터에 접근할 때 질의어를 사용하여 접근하게 됩니다. 이때 사용하는 언어를 SQL이라고 합니다. SQL은 관계 대수를 이용하여 RDBMS의 데이터 관리를 위해 설계된 언어로 현재는 RDBMS가 아닌 DBMS도 SQL을 이용할 정도로 보편화된 데이터베이스 언어입니다. SQL은 비절차적 언어며, 인간의 언어체계와 유사하여 이해가 쉽고 명료한 특징을 가집니다. SQL의 구성 SQL은 크게 아래와 같이 구성됩니다. DDL DML DDL (데이터 정의 언어, Data Def.. 2022. 3. 23.
관계형 모델 2022.02.22 - [개발/데이터베이스 시스템] - 모델링, ER 모델 모델링, ER 모델 목표 데이터베이스 모델링을 이해한다. 사용자 요구사항 분석의 개념과 과정을 이해한다. ER 모델을 이해한다. 목차 모델링의 이해 사용자 요구사항 분석 데이터 모델링 ER 모델 참고 모델링의 kghworks.tistory.com 이어지는 포스팅입니다. 목표 관계형 모델의 개념과 관계 연산을 할 수 있다. 목차 관계형 모델 ERD의 변환 관계 연산 (관계형 모델의 데이터 연산) 관계형 모델 논리적 데이터 모델링 DBMS에서 사용하는 데이터 모델 구조에 맞게 데이터를 설계 (표현)하는 것을 말합니다. 이때 개념 스키마가 생성됩니다. 이 포스팅에서는 그중 관계형 디비 (relational database managem.. 2022. 3. 22.
[ORACLE] 시퀀스를 여러 테이블에서 공유하면 안될까 테이블마다 시퀀스 객체를 만들지 말고, 하나의 시퀀스를 만들어서 공유하면 안 될까? 일단 테이블의 pk 컬럼이 insert 순서대로 증분 값을 정확히 1씩 가져가지 않아도 된다는 전제로 포스팅합니다. 테이블을 새롭게 생성하면서 PK에 해당하는 컬럼에는 대부분 시퀀스 객체의 nexval을 insert 해줍니다. 그러다 문득 이와 같은 궁금증이 생기게 되어 포스팅하게 되었습니다. 테이블마다 시퀀스 객체를 왜 하나씩 만들어주지? 그냥 시퀀스 하나로 공유해서 쓰면 안 되나? 일단 결론은 그리 추천하지 않는 방법입니다. 원칙적으로 안되는건 아니나, 지양하는 것이 맞겠죠. 여러 세션에서 시퀀스의 nextval을 호출하게되면 순차적으로 nextval을 제공합니다. (시퀀스의 cache 옵션은 일단 배제하겠습니다.) .. 2022. 3. 3.
모델링, ER 모델 목표 데이터베이스 모델링을 이해한다. 사용자 요구사항 분석의 개념과 과정을 이해한다. ER 모델을 이해한다. 목차 모델링의 이해 사용자 요구사항 분석 데이터 모델링 ER 모델 참고 모델링의 이해 데이터 모델 프로그램에서 사용하는 데이터들은 데이터베이스에 체계적으로 구조화한 다음 저장, 사용해야 하기 때문에 데이터 모델이라는 것이 필요합니다. 데이터 모델은 데이터의 의미, 데이터 타입, 연산 등을 명시하기 위해 사용하는 개념적인 집합입니다. 데이터 모델링 애플리케이션이 구동되기위한 데이터들의 의미를 파악하고, 데이터를 이용하는 업무 프로세스에 대해 개념적으로 분석, 정의한 다음. 추상화된 데이터들을 DBMS가 지원하는 데이터 모델의 형태로 전환화는 과정입니다. 따라서 모델링할 때에는 대표적으로 아래 요소를.. 2022. 2. 22.