반응형


컴퓨터와 일상생활
포털(Portal) : 현관문
인터넷 포털 : 인터넷 사용자가 원하는 정보를 얻기 위해 가장 먼저 접속하는 사이트
무크(MOOC : Massive Open Online Course) : 대규모 상호 참여 기반 교육, 거꾸로 교실
- 에덱스(edX) 서울대, 하버드, MIT
대한상공회의소 : 컴활 워드   

웹 1.0 (정보혁명) 웹 2.0  웹 3.0 
 1990 ~ 200  2000 ~ 2010  2010 ~  
일방적 의사소통  양방향 의사소통  이동성이 있는 그물망
검색 고정 검색 엔진  지능형 검색 웹, 이용자 맞춤형
개발 직접 API 제공 시맨틱 기술, 상황인식, 클라우드 컴퓨팅


Web + log = Blog (1인 미디어) - 장점 : 모든 서비스를 한 사이트에서 해결, 개인적 자료 공유
사용자 제작 콘텐츠(UCC)
소셜네트워킹서비스(SNS) - 빠른 속도와 자유로운 의견 개진 / 검열에 대한 우려
오픈 마켓 = 열린 시장 = 마켓 플레이스

데이터베이스의 개요
데이터 : 단순한 사실에 불과한 아직 처리되지 않은 값.
정보 : 유용한 의미로 쓰일 수 있도록 처리된 데이터. 즉, 의사결정을 위해 조직화되고 체계적인 데이터
데이터에서 정보로 활용하기 위한 체계적 저장 관리


데이터베이스 : 관련 있는 데이터의 저장소 : 여러 조작을 통해 정보로 활용
여러 사람이나 응용시스템에 의해 참조 가능하도록 서로 논리적으로 연관되어 통합 관리되는 데이터 모임
단순한 자료인 데이터의 모임을 정보로 사용할 수 있도록 데이터를 체계적으로 저장하는 방법
특징 : 통합된 데이터, 관련 있는 데이터, 중복의 최소화, 보조기억장치에 저장, 무결성, 동시 접근, 보안 유지, 장애 회복


DBMS : DataBase Management System, 데이터베이스 관리시스템
사용자가 데이터베이스를 만들고, 유지 관리할 수 있도록 돕는 프로그램
데이터와 응용프로그램 사이의 중재자
모든 프로그램들이 데이터베이스를 유용하게 활용할 수 있도록 관리해 주는 소프트웨어


데이터베이스의 구조

필드(Fields) : 특정한 종류의 데이터를 저장하기 위한 영역
그 필드에 저장될 수 있는 데이터의 종류 = 데이터 유형(data types) ex) 문자열 유형, 정수 유형
논리적으로 의미 있는 자료의 단위, 실제 자료값 저장

레코드(Record) : 필드 집합 (파일)
파일을 여러 개 모아 논리적으로 연결해서 필요한 정보를 활용할 수 있도록 관련 있는 데이터들로 통합된 파일의 집합 : 데이터베이스 (캐비닛의 구조)


데이터베이스 추상화 (복잡한 내부 구조 감추기) : 뷰를 세 단계로 추상화시켜 가능한 각 수준을 바라보는 뷰만을 인지하도록 한다.

스키마 (Schema) : 데이터베이스의 전체적인 설계
구성 정보의 종류와 구조 그리고 이들 간의 관계를 정의하는 구체적인 기술과 명세
여러 개의 스키마가 데이터베이스에 존재
- 물리적 단계, 물리 스키마(내부 스키마): 하드웨어에 저장되는 데이터베이스의 물리적 구조를 기술.
- 논리적 단계, 논리 스키마(개념 스키마): 비교적 간단한 데이터 구조, 내부 구조 X
- 뷰 단계, 여러 개의 서브스키마(외부 스키마): 사용자마다 다른 뷰에서 본인의 관심인 데이터베이스 일부 정의

물리적 단계(내부 단계) : 저장 장치의 내부에 실질적으로 데이터가 저장될 구조와 위치를 결정.
하위 수준의 접근 방식
바이트들이 어떻게 저장장치로부터 변환이 되는지 (하드웨어와 직접적인 상호작용)
논리적 단계(개념 단계) : 데이터베이스에 저장될 데이터의 종류와 데이터 간의 관계를 기술
뷰 단계(외부 단계) : 추상화 최상위 단계. 사용자와 직접 상호작용
논리적 단계에서 데이터를 뷰로 변환하여 사용자에게 제공

데이터 독립성(data independence) 추상화 과정에서 상위 수준의 스키마 정의에 영향을 주지 않고 해당 스키마 정의를 수정할 수 있는 능력
뷰는 최상위이므로 해당 없음.
논리적 데이터 독립성 : 응용 프로그램 자체에 영향 X, 논리적 단계에서의 논리 스키마를 수정
물리적 데이터 독립성 : 응용 프로그램 자체나 데이터 베이스 논리 스키마에 영향 X, 물리적 스키마 수정

데이터베이스 모델 : 데이터의 논리적 설계와 그들 간의 관계를 표현

계층모델(hierarchical model)
위에서 아래로 트리 형태로 데이터 구성
각 엔터티는 하나의 부모만을 가지며, 한 부모는 여러 자식을 가질 수 있다.
* 엔터티(entity) : 실체이면서 '관리하고 있는' 또는 '관리하고자 하는' 데이터 집합
링크를 사용한다는 점에서 네트워크 모델과 유사하지만 레코드들이 트리 형태의 계층을 갖는다는 차이점


네트워크 모델(network model)
레코드와 레코드 간의 관계를 서로 연결하는 그래프를 사용하여 표현



관계형 모델 (relational model)
행과 열로 구성된 이차원 테이블의 집합
포인터가 존재하지 않는다.
테이블을 구성하는 동일한 열(필드)로 데이터 관계 표현
수학적 기초의 기본. 가장 널리 활용되는 '관계형 데이터 베이스'의 데이터 모델

관계형 모델
모든 데이터를 이차원의 테이블로 표현한 모델
테이블 내의 필드 중에서 그 일부를 다른 테이블의 필드와 중복함으로써 여러 테이블 간의 상관관계를 정의

상관관계
 - 관계 스키마(realation schema) : 관계의 구조를 정의
- 관계 사례(relation instance) : 관계 스키마에 삽입되는 실제 사례


관계 스키마 [관계 이름(관계에 대한 속성 구성성)]
관계 이름과 속성 이름이 한 번 결정되면 시간의 흐름과
관계없이 동일한 내용이 계속 유지되는 정적인 특성

관계 사례 : 실제 값이 변하는 동적인 특성


속성(attribute) : 관계에서 각 열.
속성 이름은 유일한 이름이어야 한다.
한 관계의 총 속성의 수를 "관계의 차수(degree)"라 한다.
각 열에 저장되는 자료의 의미를 나타낸다.
실제 데이터베이스에서는 '필드'
데이터베이스관리시스템(DBMS)에서는 '열(column)'이라고 표현한다.

튜플(tuple) : 하나의 관계에서 각 행.
관계에서 정의된 모든 속성 값들의 집합
실제 데이터베이스에서는 '레코드'
DBMS에서는 '행(row)'이라고 표현한다.

도메인 : 하나의 속성이 취할 수 있는 모든 값의 범위


관계의 특징
중복 불허 : 중복된 튜플이 있을 수 없다.
두 튜플의 속성값이 같을 수 없다.
속성 이름의 유일성 : 한 관계에서 속성 이름은 유일
원자값 : 튜플 내 모든 값은 더 이상 나눌 수 없는 원자값이어야 함.
튜플 간 순서는 무의미
속성 간 순서는 무의미

키(key)
관계에서 튜플들을 유일하게 구별할 수 있는 하나 이상의 속성의 집합
한 테이블에 튜플들은 반드시 키 값이 달라야 한다.

후보키(candidate key)
하나의 관계에서 유일성과 최소성을 만족하는 키, 한 관계에서 여러 개일 수 있다.

주키(primary key)
후보키 중 가장 적합한 식별자.
관계에서 여러 튜플 중에서 하나의 튜플을 식별하는 역할

외래키(foreign key)
어느 관계의 속성들 중에서 일부가 다른 관계의 주키가 되는 키
관계와 관계를 연결해 주는 역할

관계의 연산

삽입(insert)
관계에 하나의 튜플을 삽입하는 연산. 순서는 무의미

삭제(delete)
관계에서 관련된 튜플을 삭제하는 연산

수정(update)
관계에서 관련된 속성값을 수정하는 연산

조회(select)
관계에서 관련된 튜플에서 부분 집합의 튜플과 속성으로 구성된 새로운 관계를 생성하는 연산

* 특정 속성만으로도 생성 가능

 

데이터베이스 관리 시스템 (DBMS : DataBase Management System)
데이터베이스를 정의하고, 데이터베이스를 구축하고, 데이터베이를 조작하고, 데이터베이스를 제어하여
데이터베이스에서 정보를 쉽게 활용할 수 있도록 만든 프로그램이자 소프트웨어


데이터베이스 시스템 : DBMS + 응용프로그램 + DB
특정한 목적을 위해 위 셋이 통합된 시스템

DBMS 인터페이스 도구 : 사용자가 DB의 자료와 DB의 모든 장치에 쉽게 접근할 수 있는 수단을 제공하는 프로그램.
GUI 방식 지원

질의 처리기 (Query Processer) : 사용자와 응용프로그램이 요청하는 질의문을 해석하여 최적의 결과를 도출
저장 관리자 (Storage Manager) : 데이터베이스 구조를 결정하고 최적의 데이터베이스를 구축하기 위하여 실제 저장장치에 자료를 저장

 

공개 DBMS, MySQL
대표적인 오픈소스 DBMS.
학생들에게 인기. 현재 상용 DBMS로도 활용
mSQL → mySQL
내부구성 및 이식성 : C 및 C++로 기술 / 다양한 플랫폼에서 동작
보안 : 매우 유연, 패스워드 시스템, 호스트 베이스의 검증
모든 패스워드 트래픽이 암호화
확장성과 범위 : 대규모 DB 처리 / 각 테이블 최대 32 인덱스
접속성 : 모든 플랫폼에서 TCP/IP 소켓 → 서버 접속
Open DataBase Connectivity (ODBC)

기업용 DBMS, 오라클
운영체제가 MS라면 DBMS는 오라클이라는 말이 있다.

중소기업용 DBMS, SQL 서버
인텔 기반의 서버용 컴퓨터에서 널리 사용되는 DBMS
MS사가 사이베이스 제품을 사들여 독자 개발
ODBC, API 등 제공

ODBC (Open Datsbase Connectivity)
데이터베이스를 사용하기 위한 표준 개방형 응용 프로그램.
DBMS 종류에 상관없이 어떤 응용프로그램에서나 모두 접근하여 사용할 수 있도록 하기 위하여 MS에서 개발한 데이터베이스 표준 접근 방법
(응용 프로그램과 DBMS 중간에 ODBC와 DBMS 드라이버를 이용)
응용 프로그램들이 데이터베이스의 독점적인 인터페이스에 대해 알지 못하더라도 데이터베이스 접근 가능
SQL 요청을 받아서 개개의 DB들이 이해할 수 있도록 변환.
여러 종류의 데이터베이스를 함께 사용할 수 있고, 기존에 사용하던 데이터베이스를 교체한다 하더라도 응용 시스템을 계속 사용할 수 있어 비용을 절감하는 등의 장점

임베디드 DBMS : 모바일 기기 기본 탑재되는 작고 빠른 개인용 임베디드 DB엔진

SQLite : 데이터베이스 엔진을 위한 소프트웨어 라이브러리. C로 구현. 용량 작고 안정적. 서버 따로 불필요

sqlite > 명령 프롬프트
create table department 테이블 생성
.table 테이블 확인
insert into department 레코드 삽입
select 테이블 조회
간단한 질의 처리
질의=쿼리(query) : DB에 사용하는 명령어
DB를 구축하고, 새로운 자료 입력하거나 데이터 수정, 삭제, 조회하는데 이용하는 기본적인 명령어

쿼리 편집기 : 질의를 실행하고 결과 확인
(테이블 생성, 삭제 및 수정) SQL 트랜잭션 작업과 저장함수(stored procedure)를 실행하고 색인 분석을 통해 필요한 색인을 생성하는데 이용하는 도구.
SQL 서버에서 가장 많이 이용
- 개체 브라우저, 스크립팅
- 개체 검색, 개체 브라우저
- 테이블 열기
- 쿼리 바로 가기 사용자 지정

Ctrl + E : Execute 실행
Ctrl + D : griD 그리드(테이블)모드
Ctrl + T : Text 텍스트 모드 전환
Ctrl + R : Result 결과창
Ctrl + G : 줄 이동 대화 상자
F1 : 도움말
Shift + F1 : 온라인 도움말

반응형

'공부일기' 카테고리의 다른 글

Internet history  (0) 2023.02.18
멀티미디어와 멀티미디어 시스템  (0) 2023.02.14
정보 보안의 개념과 목  (0) 2023.02.14
컴퓨터 네트워크 교환 방식  (0) 2023.02.14
컴퓨터 네트워크  (0) 2023.02.14

+ Recent posts