728x90
반응형

컴퓨터(Computer Science)/데이터베이스, DB, DataBase 19

데이터베이스의 논리적 설계~최종 테이블 스키마

개념적 설계 이후의 과정이다. 우선 논리적 설계부터 설명하겠다. 논리적 설계란 개념적 설계에서 만들어진 ERD로부터 테이블 스키마를 생성하는 것이다. 모든 논리적 설계는 개념적 설계의 산출물로 진행한다. ** 그림을 이제 테이블로 바꾸는 과정이라고 보면 되겠다. - 강성 개체집합을 관계형 테이블로 변환 -약성 개체집합을 관계형 테이블로 변환 -관계집합을 관계형 테이블로 변환 -중복되는 테이블 제거 -가능한 테이블들 결합 위에 말한 사항들을 하나씩 자세히 살펴보자 강성 개체집합의 변환 -하나의 강성 개체집합은 하나의 테이블이 된다. -강성 개체집합의 속성은 테이블의 필드가 된다. -테이블의 기본키는 개체집합의 기본키를 그대로 사용한다. ** 강성 개체집합 = 테이블 and 강성 개체집합의 속성 = 테이블의..

데이터베이스의 개념적설계(Conceptual Design)

여기서는 앞서 말했듯이 개체관계 모델을 사용한다. E-R // Entity Relaion 다이어그램으로 표현하고는 한다. 최종목표는 ERD를 만드는 것이라고 할 수 있다. 개체, Entity -현실 세계에서 물리적 또는 추상적으로 존재하는 실체 -ex 사람, 자동차, 집, 돈 개체 집합, Entity Set -동일한 특성을 갖는 개체들의 모임 ex 학생 -> 학생들, 사원 -> 사원들 속성, Attribute -개체의 특성을 나타냄 -관계형 데이터 모델의 필드(field)와 같은 개념 또는 column -동일한 특성을 가진다는 것은 속성이 동일하다는 말과 같다. ** 필드와 속성의 차이점도 읽어보고 가자 관계, Relation -개체 간의 대응성을 표현함 -개체 간의 관계를 통해 의미를 이끌어냄. 관계집..

데이터베이스의 설계( Database Design)

설계에 관해서 단계적으로 알아보자. 데이터베이스 설계의 뜻은 무엇일까? 현실 세계의 정보를 컴퓨터의 데이터 체계로 변환하기 위한 모델링 과정 중 하나이다. 현실의 엔티티를 요구 사항 분석 단계를 거쳐 컴퓨터에 이식한다. 데이터베이스 설계 과정에서 우리는 앞서 배운 테이블, 뷰 등의 구조로 디자인 + Key를 이용해 컴퓨터가 잘 처리할 수 있게 만든다. -> 어떠한 필드로 구성된 테이블을 어떠한 물리적 형태의 데이터베이스로 구성할 것인가를 결정 위의 그림을 조금 더 세분화 하자면 4가지로 나눌 수 있다. 1. 요구사항 분석 DB 사용환경 분석 후 대상 및 제한 조건을 도출한다. (사용환경이란 현재 시스템의 운영상태와 사용자의 요구사항을 말한다) -> 요구 조건 명세서와 같은 것들을 작성 (소프트웨어 공학에..

SQL(Structured Query Language) + 보충내용(NULL처리, 중첩질의, 뷰(VIEW))

++이전 글에 더 첨언해서.. 글을 써보자 NULL의 처리는 어떻게 할까? NULL을 검색하는 방법 SQL is null is not null grade 필드 값이 NULL인 경우 질의 결과에 포함되지 않는 경우가 있다. * 하지만 COUNT의 경우 NULL의 존재와 무관하게 레코드 전체에 조사하기 때문에 상관없다. 중첩 질의(Nested query) :SQL 문 안에 다른 SQL 문을 중첩하여 사용하는 질의를 말한다. -> 복잡한 질의를 쉽게 표현하기 위해서 만듬 쓰이는 용어로는 1. 내부 질의(inner query) 2.부질의(sub query) 3. 외부 질의(outer query)가 있다. -> 내부질의는 내부에 포함된 SQL문을 말하며, 외부 질의는 부 질의를 내부적으로 갖는 SQL문을 말한다...

SQL(Structured Query Language)이란?

**1974년 IBM의 어쩌구저쩌구 Sequel에서 기초로 하여 ~~~ 이런 구구절절은 그만하고 직역해보면 구조적 질의 언어라고 할 수 있다. 그래서 대체 뭔데???++ 한마디로 말하자면 SQL이란 데이터베이스 시스템을 조작하기 위한 문법이라고 할 수 있다. -> 관계형 데이터베이스 시스템에서는 SQL이라는 공통된 언어를 사용한다. -> 때문에 어떤 Application Program을 쓰더라도 호환이 가능하다 ** nosql이라는 것도 있다. sql이 필요없는 것을 말한다. ex) mongodb(몽고디비) SQL은 표준 질의어가 되었다. 관계 대수나 관계 해석은 확실한 이론 배경이 있지만 기호가 너무 복잡해서 솔직히 외우기 싫었다. 하지만 SQL은 우리가 쓰는 언어인 자연어와 비슷해서 쓰이는데 거부감도..

관계형 데이터베이스, Relation Database 란?

우선 필요한 용어들을 알아보자 데이터 모델이란 물리적 혹은 추상적으로 존재하는 현실세계를 단순화되고 정형화된 형태로 표현하는 하나의 방식 또는 규범을 말한다. -> 즉, 컴퓨터에 넣기 위해 현실의 것들을 바꾸어서 집어넣은 것을 말한다. (컴퓨터가 잘 알아들을 수 있도록) 관계형 데이터 모델 (Relational data model)이란 테이블 형식을 사용하여 데이터들을 정의하고 설명한 모델이다. 현실의 데이터를 누구나 직관적으로 이해할 수 잇는 형태로 보여줌 (like table) **테이블을 Relation이라고 부름. ** Relation은 수학적으로 수학적으로 두 개 이상의 집합으로부터 각 집합을 구성하는 원소들의 순서쌍에 대한 집합을 의미 (이산수학에서 배운다) 테이블에 대한 개념 1. 속성(= ..

데이터베이스에서의 키(Key)

데이터베이스를 다룰 때 항상 우린 키를 이용한다. 왜인지 알아보자 키가 필요한 이유? 저번에 글에서 레코드 간의 순서가 의미가 없다고 했다. 그렇다면 레코드의 무엇이 의미가 있을까 생각해봤더니 레코드를 고르는 방법이다. 데이터베이스에서 레코드의 순서는 의미가 없다. 하지만 우리가 사용하려는 것은 레코드다! 그러므로 레코드를 구분해주는 무엇인가가 필요한데 그것이 바로 키(key)이다. 키의 특징으로는 필드들의 일부로 각 레코드들을 유일한 식별자(identifier) 역할 일반적으로 하나의 필드를 지정하여 key로 정한다 (대부분 id를 키로 가짐) +여러 개의 필드를 키로 구성할 수 있음 (복합 키 composite key)라고도 부름 레코드 간의 서로 같은 값이 있으면 키가 될 수 없음 -> identi..

파일과 데이터베이스 -> DBMS를 쓰는 이유

운영체제에서도 파일 시스템 (file system)이라는 것을 배우는데 어디다 써먹나 했더니 여기서 써먹는다. 영구적으로 데이터를 디스크에 저장하는 가장 보편적인 방법이 바로 파일 시스템을 이용하는 것이다. **파일 시스템이란 운영체제의 한 부분으로 데이터나 프로그램을 디스크에 쓰고 읽을 수 있게 해주는 프로그램을 말한다. ++ DBMS라는 것이 나오기 전에는 운영체제에서 제공하는 파일시스템만 이용했었다. 그러나 왜 파일 시스템을 쓰지 않고 DBMS를 만들어냈을까?? 파일 시스템은 운영체제의 요구사항을 기반으로 최적화되었기 때문에 간혹가다 데이터베이스의 처리에는 부적절하거나 기능이 부족한 경우가 생긴 것이다. 쉽게 말하자면 파일 시스템의 한계는 5가지로 볼 수 있었다. 1. 프로그램 밖에서의 데이터 조작..

데이터와 데이터베이스

정보의 홍수라고 불렸었던 시기, 지금은 데이터 댐이라는 단어마저 생겨났다. 정보화 사회에서 데이터는 필수불가결의 존재가 되었고 그 데이터를 필요에 따라 모아서 이용해야 했고 이는 데이터베이스를 가져왔다. **데이터 베이스 = 테이블 + 테이블을 조작하는 SQL 요소들 **SQL이 무엇인지 모르면 이 글을 보자 데이터베이스는 꼭 컴퓨터를 매개로 하지는 않는다. 여러 유형이 될 수 있다. 데이터베이스는 정보를 모아놓는 것에 지나치지 않고 정보를 이용하는데 무게를 뒀다. 필요한 정보가 데이터 베이스에 있다고 해도 찾는데 하루가 걸린다면 누가 이용할까...ㅎ 그래서 데이터베이스는 정보의 덩어리라고 보는 것 보다는 정보를 분류한 캐비넷이라고 보면 되겠다. **여기서 분류 기준이 정해져있는지는 알 수 없다. 다만 ..

728x90
반응형