본문 바로가기

데이터베이스 DataBase

chapter 09 데이터베이스 보안과 관리 DBA : Database Administrator의 약자로 데이터베이스를 관리하는 사람을 뜻한다. DBA는 기본적으로 데이터베이스 구축부터 운영까지 데이터베이스 시스템의 이상 유무를 점검하고 유지보수를 하여 시스템에 문제가 발생했을 때 신속하게 대처한다. DBA는 운영하고 있는 DBMS의 세부적인 사항까지 정확하게 알고 있어야 한다. 데이터베이스 관리를 위해 필요한 일반적인 업무로는 서비스 관리, 점검 및 모니터링, 장애 대처, 백업과 복원, 사용자 관리 및 권한 관리, 시스템 데이터베이스 관리, 사용자 데이터베이스 관리, 데이터베이스 저장 공간 관리, 인덱스 관리가 있다. DBA는 데이터베이스 시스템이 문제없이 동작할 수 있도록 관리해야 하고 문제가 발생했을 때 신속하고 적절하게 대응해야 한다. CR.. 더보기
chapter 08 트랜잭션, 동시성 제어, 회복 트랜잭션 : 데이터를 다루는 작업의 단위로, 거래가 일어나는 동안 변경될 데이터가 모두 변경되던지 아니면 아예 없던 일이 되어야 한다. DBMS가 데이터베이스를 다룰 때 사용하는 논리적인 작업(프로그램)의 단위로 보통 단일 SQL 문을 사용하여 데이터를 다루기도 하지만, 여러 개의 SQL 문을 순차적으로 수행하여 데이터를 다루기도 한다. 데이터베이스의 무결성을 유지해야 한다. 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)의 성질을 가지며(ACID라 부름), DBMS는 트랜잭션이 이러한 성질을 유지할 수 있도록 지원해 준다. 데이터베이스에서 트랜잭션을 정의하는 이유는 장애 시 데이터를 복구하는 작업의 단위 및 데이터베이스에서 여러 작업.. 더보기
chapter 07 정규화 정규화 : 잘못 설계된 테이블을 수정하여 정상으로 만드는 과정으로 한 테이블에 존재하는 여러 속성 간의 의존 관계를 정리. 정규화를 하기 위해선 먼저 테이블을 분석하여 기본키와 함수 종속성을 파악해야 함. 이상현상이 발생하는 릴레이션을 분해하여 이상현상을 없애는 과정을 정규화라고 함. 이때 이상현상이 없어질 때까지 분해. 정규화는 릴레이션의 분해를 통해 이루어지는데, 분해 과정에서 어떤 정규형 상태인 릴레이션 R1을 분해하여 만든 R2, R3 릴레이션은 R1 다음 정규형이 아닌 더 높은 정규형이 될 수 있다는 것에 주의. 함수 종속성 : 테이블을 구성하는 속성 간에 의존 관계에 관한 것. 속성 간에 함수적으로 종속하는 성질을 함수 종속성이라 함. 릴레이션 R과 R에 속하는 속성의 집합 X, Y가 있을 때.. 더보기
chapter 06 데이터 모델링 데이터 모델링 : 데이터베이스 설계의 다른 말로 현실 세계의 특정 대상을 데이터화하여 모델을 만드는 과정. 현실 세계의 복잡한 개념을 단순화하고 추상화시켜 데이터베이스화하는 과정. 데이터베이스 생명주기 : 데이터베이스는 최초 사용자의 요구에 의해 구축되어 사용되다가 필요에 따라 개선 또는 다시 구축되어 사용됨. 이러한 데이터베이스의 생성과 운영에 관련된 특징을 데이터베이스 생명 주기라 함. 요구사항 수집 및 분석 -> 설계 -> 구현 -> 운영 -> 감시 및 개선 단계로 이루어짐. 요구사항 수집 및 분석 : 데이터베이스 구축을 위한 첫 단계로 앞으로의 진행방향이 결정되는 매우 중요한 단계로 현실 세계의 대상 및 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정함. 구축할 데이터베이스와 관.. 더보기
chapter 05 데이터베이스 응용 데이터베이스 프로그래밍 : DBMS에 데이터를 정의하고 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정. 단, 일반 프로그래밍과 달리 데이터베이스 언어인 SQL을 포함. SQL 전용 언어를 사용하는 경우 SQL Server는 T-SQL, Oracle은 PL/SQL이라는 언어를 사용함. 일반 프로그래밍 언어에 SQL을 삽입하여 사용하는 경우, 호스트 언어가 JAVA, C, C++ 등 일반 프로그래밍 언어인 경우 삽입된 SQL 문은 DBMS의 컴파일러가 처리. 웹 프로그래밍 언어에 SQL을 삽입하여 사용할 경우 호스트 언어가 JSP, PHP 등 웹 스크립트 언어인 경우. 4GL을 사용할 경우 데이터베이스 관리 기능과 비주얼 프로그래밍이 가능한 GUI 기반 소프트웨어 개발 도구 사용 Delp.. 더보기
chapter 04 SQL 고급 SQL의 함수 : 내장함수와 사용자 정의 함수가 있음. 내장 함수 : 상수나 속성이름을 입력으로 받아 단일 값 반환. 최초에 선언될 때 유효한 입력 값을 입력해야 함. 사용빈도가 높은 수학 함수, 문자열 함수, 날짜 함수는 내장 함수로 제공. 수학 함수 : 사칙연산(+, -, *, /)과 나머지(%) 연산자는 기호를 그대로 사용. 내장 함수로 제공되는 수학 함수로는 ABS, CEILING, FLOOR, ROUND, LOG, POWER, SQRT, SIGN이 있음. 입력 값으로 열 이름을 사용할 수도 있고, 여러 함수를 복합적으로 사용할 수 있음. ABS : ABS(숫자) 숫자의 절대값을 계산. CEILING : CEILING(숫자) 숫자보다 크거나 같은 최소의 정수. FLOOR : FLOOR(숫자) 숫자.. 더보기
chapter 03 SQL 기초 데이터 정의어 : 테이블의 구조를 만드는 데 사용. CREATE, ALTER, DROP 문 등이 있음. 데이터 조작어 : 저장된 데이터를 검색, 삽입, 수정, 삭제하는 데 사용. SELECT, INSERT, DELETE, UPDATE 문 등이 있음. 데이터 제어어 : 데이터에 대한 접근 권한을 제어하는 데 사용. GRANT, REVOKE 문 등이 있음. 테이블 : 릴레이션은 실제 데이터베이스 업무에서 '테이블'이라는 용도로 자주 사용됨. SQL : DBMS에게 원하는 내용을 비교적 쉽게 알려주고 결과를 얻는 데 사용하는 데이터베이스 전용언어. 완전한 프로그래밍 언어는 아니고 데이터 부속어라 칭함. JAVA나 C와 같은 프로그래밍 언어에 삽입하여 사용할 수 있고, HTML 웹 페이지 문서에 삽입도 가능. .. 더보기
chapter 02 관계 데이터 모델 관계 데이터 모델 : 현재 많이 사용되는 관계 데이터 모델 DBMS로는 Oracle, SQL Server, MySQL, PostgreSQL, 모바일용 SQLite 등이 존재. 데이터를 2차원 테이블 형태인 릴레이션으로 표현하며 릴레이션에 대한 제약조건과 관계 연산을 위한 관계 대수 정의. 제약조건 : 각 릴레이션에 저장된 데이터 값이 가져야하는 제약. 관계 연산 : 릴레이션을 다루는 연산 규칙. 관계 데이터베이스 시스템 : 관계 데이터 모델을 컴퓨터 시스템에 구현한 것으로 관계 데이터 모델에 기초하여 SQL을 기반으로 구현됨. 릴레이션 : 수학의 집합에서 나온 개념. 관계 데이터 모델의 가장 핵심적인 용어로 행과 열로 구성된 테이블을 말함. 릴레이션과 테이블은 같은 의미로 릴레이션은 주로 구조를 강조하는.. 더보기
chapter 01 데이터베이스 시스템 데이터 : 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값. 정보 : 데이터에 의미를 부여한 것. 지식 : 사물이나 현상에 대한 이해. 데이터베이스 : 개념적으론 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은 것으로 기상정보, 교통정보, 금융정보 등 일상생활 곳곳에서 활용. 실제적으론 데이터를 모아둔 토대로 물리적으론 컴퓨터 내부 하드디스크에 저장. 데이터 변경 : 시간에 따라 변하는 데이터 값을 데이터베이스에 반영하기 위해 수행하는 삽입(insert), 삭제(delete), 수정(update) 등의 작업. 데이터베이스의 개념 : 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터 네 가지로 설명. 통합된 데이터 : 여러 곳에서 사용하던 데이터를 통합하.. 더보기
chapter01 데이터베이스 시스템 01데이터베이스와 데이터베이스 시스템 데이터베이스 시스템에 대해서 간단히 알아보는 장입니다. 전체적으로 데이터베이스 시스템의 구성요소들에 대해서 살펴봅니다. 먼저 데이터, 정보, 지식은 아래의 표와 같이 그 용어가 정리될 수 있습니다. 데이터관찰의 결과로 나타난 값정보데이터에 의미를 부여한 것지식사물이나 현상에 대한 이해 대학생이 가장 많이 접하는 데이터베이스 시스템은 무엇일까요? 우리는 은행, 학교 시간표, 성적표, 병원 등등의 곳곳에서 데이터베이스를 찾을 수 있습니다. 데이터베이스의 개념은 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터 네 가지로 설명할 수 있습니다. 데이터베이스의 특징은 실시간 접근성, 계속적인 변화, 동시 공유, 내용에 따른 참조 네 가지로 설명할 수 있습니다. 여기서.. 더보기