-
03.08 수업학교 수업 정리/데이터베이스 2023. 3. 9. 01:15
전통적인 데이터베이스는 관계형 데이터베이스와 유사하다. 숫자, 문자로만 구성되어 많은 곳에서(회사, 대학, 도서관, 은행, 공장 등등) 오랜 시간 동안 사용되어 왔다. 하지만 최근에는 web의 발달로 데이터가 한 곳에 저장된 것이 아니라 전 세계에 퍼져있는 양상을 띠고 있다. 이것은 새로운 비즈니스 환경이며 기존의 문자와 숫자뿐만 아니라 사진, 음악등의 멀티미디어 자료도 저장하고 있다. OLAP(온라인 분석 처리), GIS등에도 활용되고 있다.
전통적인 데이터베이스 안에는 해당 기관의 운영에 관련된 데이터가 텍스트 형식으로 들어있다. 최근에는 텍스트뿐만 아니라 다양한 양식의 데이터가 들어있어 정보를 검색하는 쿼리 기능이 달라지게 되었다. 텍스트는 SQL로 검색하지만 사진은 SQL by Sketch(비슷한 모양을 주고 찾기) or Example(예시 사진을 주고 찾기)와 같은 방법으로 검색하였다.(지금은 잘 쓰지 않는 방법) 완전 일치를 검색하지 않아 유사성을 알아야 하고 이를 ranking으로 유사성이 높은 것부터 사용자에게 보여주어야 한다.
관계형 데이터베이스는 모든 정보를 테이블 형태로 저장한다. SQL은 테이블을 피연산자로 사용해 결과를 테이블로 산출한다. 따라서 결과를 다시 피연산자로 이용해 재귀함수처럼 계산을 하는 것이 가능하다. 이 방법은 확장성이 좋다.
최근에는 SNS와 IoT의 발달로 데이터의 양이 많아져 빅데이터라고 부른다.
데이터베이스: 관련된 데이터들의 집합. 데이터는 활용할 목적으로 수집하게 된다. 데이터는 현실을 대변하며 고유의 의미를 가진 일관된 집합이며 특별한 목적에 의해 디자인되고 만들어진 것이다.
DBMS: 데이터베이스를 만들고 관리하기 위한 프로그램들의 모음. 데이터 타입, 구조, 제약 조건을 정의하고 데이터를 저장하고 데이터베이스에 쿼리를 통해 데이터를 처리할 수 있어야 한다.
관계형 데이터베이스는 여러 테이블로 구성되고 관계는 행(튜플)들의 집합, 행은 스키마의 값들로 구성된다. 스키마는 테이블에서 값을 식별할 수 있는 수단이다. 스키마와 데이터는 분리해서 저장된다.
SQL은 컴파일과 같은 과정을 거치는데 이때 가장 효율적인 방법을 스스로 찾아 실행한다. 인덱스, 테이블 크기 등에 따라 여러 방법이 존재한다.
엔티티는 독립적이고 스스로 정의할 수 있는 것이고 relate는 엔티티들간의 관계로 존재하는 것들이다. ER다이어그램으로 이들의 관계를 나타낼 수 있다.
학교 학생들의 정보와 수강하는 과목을 데이터베이스로 만들려고 하면 테이블에 어떤 정보를 넣고 어떤 테이블을 만들지 잘 고민해야 함. 테이블관의 관계로 표시해 중복을 피할 수 있으면 그 방법이 좋음.