1. 데이터 베이스의 원칙 (1) 무결성 (Data integrity) - 데이터의 무결성은 데이터의 정확성(Accuracy), 일관성(Consistency)가 유지되는 것을 말하며, 데이터의 무결성을 유지하는 것은 DBMS의 중요한 기능이다. (2) 안정성 (Data reliability) - 데이터는 복원력이 있어야 하며(resilient), 고장이 나지 않아야 한다. - 인증/인가되지 않은 사용자로부터 데이터를 보호해야 한다. (3) 확장성 (scalability) - 데이터베이스는 확장할 수 있어야 한다. (Scale-up & Scale-out) 2. 다양한 데이터베이스 종류 데이터베이스는 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미하는데, D..
어떻게 DBMS가 SQL 쿼리를 실행하는지에 대해서 알아 볼 것이다. 어떻게 '인덱스'라는 것으로 쿼리를 최적화 하는지를 다룰 것이다. 1. 인덱스(Index)란 무엇인가 - 인덱스란 DBMS나 SQL을 사용하는 툴이 제공하는 피처이다. 이 인덱스를 통해서 쿼리의 속도와 성능을 증가 시킬 수 있다. WHERE문을 사용하여 조건에 해당하는 것을 쿼리할 때, 인덱스가 이 검색하는 것을 도와주는 역할을 한다. WHERE문이 없는 쿼리는 테이블 전체를 가져 오기 때문에 더 빠르게 하지 않는다. 위의 그림에서 볼 수 있듯, WHERE + 조건을 통해서 쿼리 할 때, 테이블의 모든 row를 기준에 맞는지 검색해야 하는데, entry가 많고 큰 테이블일 경우 이 모든 row를 검색하는 것이 매우 느리고 비효율적이 될..
이 글에서 다룰 내용은 다음과 같다. 1. Data normalization을 이해한다. (테이블을 어떻게 나누어야 하는지) 2. INNER JOIN, LEFT JOIN 등으로 데이터를 결합하는 방법 3. Data relationships의 타입들 (One-to-One, One-to-Many, Many-to-Many) 데이터베이스에서 데이터는 Key를 통해서 연결된다. 한 테이블의 primary key가 다른 테이블의 foreign key로 사용된다. Primary key와 foreign key를 통해서 테이블간의 관계를 형성 하는 방식이 전형적인 SQL 세계에서 connection을 형성하는 방법이다. 모든 테이블은 최대한 하나의 Primary key를 가질수 있지만 모든 테이블은 여러개의 Foreig..
1. 쿼리란? 쿼리 대충 무슨 뜻인지 감은 오지만 명확하게 설명할 수 없는 이 느낌을 해소하고자 찾아보았다. 쿼리란 데이터베이스에 정보를 요청하는 것. 데이터베이스에 정보를 요청하기 위해서 몇가지 방법이 있지만, 그 중 한가지 방법이 쿼리 언어를 사용하는 것이다. 그래서 SQL(Structured Query Language)을 알아야 하는 것이다. 2. DBMS란? DBMS(DataBase Management System)은 데이터베이스를 조작하는 별도의 소프트웨어로 DBMS를 통해 데이터 베이스를 관리하여 응용프로그램들이 데이터 베이스를 공유하고, 사용할 수 있는 환경을 제공한다. 구축하는 틀을 제공하고, 효율적으로 데이터를 검색하고 저장하는 기능을 제공한다. 또한 응용프로그램들이 데이터베이스에 접근할..
엔티티란 무엇인가. 구글을 통해 몇 블로그를 찾아보니 다음과 같이 나온다. Entity : 실체, 객체라는 의미로 실무적으로는 엔티티라고 부른다. 즉 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것으로 설명 할 수 있다. 예를들어 학교라는 곳에서는 과목이라는 엔티티가 존재할 수 있고 엔티티는 인스턴스의 집합으로 나타나게 된다. 즉 과목이라는 엔티티가 있다면, 수학, 영어, 국어와 같은 인스턴스가 과목이라는 엔티티에 포함되는 것이다. 이때 엔티티는 자신이 가지고 있는 인스턴스를 설명할 수 있는, 나타낼 수 있는 속성을 가지게 된다. 그럼 여기서 궁금한것이 속성(Attribute)란 무엇인가? 속성의 사전적 의미는 어떤 사물의 성질이나 특징, 그것이 없다면 실체를 생각 또는 표현 할 수 없..
Hiberante를 공부하다가 transaction? commit? rollback과 같은 말들을 이해할 수가 없어서 찾아본 결과이다. 1. Transaction 이란? : 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위이다. 그리고 다른 transaction과 독립적으로 일관적이고 믿을만한 방식으로 여겨진다. 트렌잭션은 일반적으로 데이터베이스의 어떠한 변화를 나타낸다. 데이터베이스 환경에서의 트렌잭션은 두가지 주 목적이 있다. (1). 믿을만한 작업의 단위를 제공하여 실패로 부터 올바른 회복을 가능하게 하고, 실행이 완전히 또는 부분적으로 멈출때와 많은 데이터베이스에서의 작업들이 완성되지 않은, 불분명한 상태로 남아 있을 경우 데이터베이스를 시스템 실패의 경우에도 일관적으로 유지할 수 있다...
- Total
- Today
- Yesterday