본문 바로가기

computer science63

[데이터베이스] 정규화(Normalization) 이번 시간에는 데이터베이스 정규화에 대해 공부해 보겠습니다. 정규화란 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 의미합니다. 또한 데이터베이스 이상현상을 없애고 크고, 제대로 조직되지 않은 테이블들과 관계들을 작고 잘 조족된 테이블과 관계들로 나눈것을 포함합니다. 쉽게 말해서 데이터 중복에 의한 이상현상을 해소하는 과정을 의미합니다. 정규화에는 1정규형(1NF), 2정규형(2NF), 3정규형(3NF), BCNF(Boyce-Codd Normal Form), 4정규형(4NF), 5정규화(5NF)가 주로 실무에서 사용되며 그 이외의 경우는 주로 연구용으로 사용됩니다. 1 정규형(1NF) : 모든 속성을 반드시 하나의 원자값만 가져야 한다 위의 경우 취미는 반복그룹(취미1,취.. 2020. 8. 31.
[데이터베이스] 이상(Anomaly) 이번시간에는 데이터베이스 이상에 대해 공부해 보겠습니다. 이상이란 릴레이션에서 일부 속성들의 종속이나 데이터의 중복으로 인해 데이터 조작시 불일일치가 발생하는 것을 말합니다. 즉, 테이블을 설계할 때 잘못 설계하여 데이터를 삭제,수정,삽입할 때 논리적으로 오류가 생기는 것을 말합니다. 대부분 이상현상이 발생하는 데이터의 중복성때문인데 이를 제거하는 과정이 정규화 입니다. 이상의 종류에는 삽입이상, 삭제이상, 갱신이상이 있습니다. 1. 삽입 이상 : 자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 자료를 테이블에 추가가 가능한 현상입니다. 강의를 아직 수강하지 않은 새로운 학생을 삽입할 경우 강의코드 속성에는 null값이 들어가야 하는 문제가 생깁니다. 2. 갱신 이상 : 중복된 데이터 중 일부만 수정.. 2020. 8. 31.
[데이터베이스] 인덱스(index) 사실 많은 데이터를 다룰일이 없어서 인덱스에 대해 크게 신경쓰지 않았는데, 이번에 공부를 하고 나서 인덱스가 굉장히 강력한 기능을 한다는 것을 알았습니다. 거의 필수적인 개념이죠. 이번시간에는 인덱스가 무엇인지 또 어떻게 사용하는지에 대해 공부해 보겠습니다. 인덱스 인덱스라는 개념을 우리에게 친숙합니다. 우리가 책에서 원하는 내용을 찾을 때 처음부터 찾지않고 책의 목차를 보고 내가 원하는 내용이 몇페이지에 있는지 확인하고 그 페이지로 바로가죠 ? 이런 개념이 인덱스 입니다. 책 속의 내용 중에서 중요한 단어나 항목 등을 쉽게 찾아볼 수 있도록 일정한 순서에 따라 별도로 배열하여 놓은 목록. 데이터베이스에 수많은 데이터가 저장되어 있고 "x"라는 데이터를 찾기 위해 처음부터 하나씩 검사해야 한다면 아주 많.. 2020. 8. 28.
[데이터베이스] SQL과 NoSQL 사실 SQL과 NoSQL를 처음들었을 때, SQL이 RDBMS를 의미하는 것 같은데 왜 SQL이라고하지..? RDBMS와 NoSQL이 더 어울리지 않나 ? 라는 생각을 했습니다. 그래서 곰곰히 생각해봤는데 SQL(Structured Query Language)은 RDBMS의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이기 때문에 그 자체적으로 관계DB의 의미를 내포하고 있다고 생각했습니다. 그리고 SQL과 NoSQL이 서로 개념적으로 상이한 부분이 있기 때문에 SQL와 NoSQL이라고 많이들 말하지 않아 생각합니다. 이번 게시글에서는 SQL와 NoSQL에 대해 간략하게 알아보고 이 둘의 차이점, 각각 언제 사용해야 하는지에 대한 부분 위주로 다루겠습니다. SQL SQL(관계DB)는 스키마가.. 2020. 8. 27.