728x90
반응형

 

* 본 내용은 Tmax AI & Big Data Academy 나연묵 교수님의 수업과, Kroenke and Auer - Database Processing (데이터베이스 처리론), 11th Edition 을 바탕으로 작성하였습니다.

 

* 강의 앞부분에는 Shamkant B. Navathe / Fundamentals of Database Systems의 일부 내용도 참고하였습니다.

 

 

SQL 추가 구문

 

Shamkant B. Navathe / Fundamentals of Database Systems Chapter 7.

 

Meaning of NULL

- Unknown value

- Unavailable or withheld value

- Not applicable attribute

 

* SQL usees a three-valued logic :

- TRUE, FALSE, and UNKNOWN (like MAYBE)

 

SQL allows queries that check whether an attribute is NULL

 

 

 

 

예제)

SELECT	Fname, Lname
FROM	Employee
WHERE	 EXISTS 	(SELECT *
			FROM DEPENDENT
			WHERE ssn = Essn)
	AND EXISTS 	(SELECT *
			FROM Department
			WHERE ssn = Mgr_ssn)

 

 

 

WITH clause

- WITH 절은 사용자가 특정 쿼리에서만 사용될 수 있는 테이블을 정의할수 있게 해준다. (not available in all SQL implementations)

 

SQL 에는 집계함수는 COUNT, SUM, AVERAGE, MAX, MIN 이렇게 다섯개 밖에 없는데, RANK는 등수를 매겨주는 연산을 수행해준다.

 

 


Chapter 9. Managing Multiuser Databases

 

 

* DBA (Database Administration) 

 

- 모든 크고 작은 데이터베이스들은 DBA가 필요하다.

- DBA는 모든 기관의 데이터 자산에 관련된 함수를 지칭하는 말이다.

- DBA는 하나의 데이터베이스 또는 하나의 응용 프로그램으로 특정되는 사람이나 사무실을 지칭한다.

 

- DBA 역할 (DBA Tasks)

 

  - 데이터 베이스와 어플리게이션 개발에 참여하기

   -- 요구사항 단계와 데이터 모델 생서 단계에서 도와주기

   -- 데이터베이스 설계와 생성에서 활동적인 역할 수행하기

  - 데이터베이스 구조 변경을 용이하게 하기

   -- 커뮤니티 범위 내에서의 해결책 찾아보기

   -- 모든 사용자에 대한 영향력 평가하기

   -- 형상 통제 포럼 제공

   -- 변경사항이 생기고 나서의 문제들에 미리 대비하기

   -- 문서 관리하고 유지하기

 

* Concurrency Control

 

 

* Atomic Transactions

 

 

 

* Resource Locking 

Resource Locking 은 응용프로그램이 막 바뀌려고 하는 순간에 다수의 응용프로그램이 같은 기록의 복사본을 취득하는 것으로 부터 막아준다.

 

vs OS lock => 운영체제에서의 락의 역할과 비교하기

 

* Lock Terminology

 

- implicit locks : DBMS에 의해서 생기는 락이다. 

- explicit locks : 어플리케이션 프로그램에 의해 발행되는 락이다.

- lock granularity : 잠긴 자원의 사이즈를 말한다

   -- rows, page, table, database level

 

 

* Serializable Transactions 직렬가능한 트랜잭션

 

직렬가능성을 구현하는 기술에는 Two-phased locking 이 있다.

 

Two-phased Locking - growing phase 와 shrinking phase 로 구분된다.

특별한 케이스가 있는데, lock은 트랜잭션을 통해서 얻어진다. COMMIT이나 ROLLBACK 명령어가 나오기 전까지는 lock은 풀리지 않는다.

락이 빨리 풀어쥐어야 다른 트랜잭션을 실행을 할 수 있기 떄문에 이 방식은 좀 더 제한적이지만, two-phase locking 보다는 구현하기는 쉽다.

 

 

* Deadlock

 

the deadly embrace. 죽음의 포옹. 다른 트랜잭션이 가지고 있는 자원을 서로 기다리는 상태를 말한다

 

- preventing deadlock :

1. 사용자들이 한꺼번에 모든 락 요청을 만들게 해준다. (Greedy Method)

2. 모든 응용 프로그램이 자원을 일정한 순서로 잠그도록 요구한다 (순환대기 기법)

- breaking deadlock :

1. 거의 모든 DBMS는 데드락을 탐지하는 알고리즘을 가지고 있다.

2. 데드락이 발생하면, 

 

 

* Optimistic Locking vs Pessimistic Locking

 

옵티는 가장 최후의 순간에 락을 거는 것이다.

페시는 바로 락을 거는 것. SELECT 문은 락을 걸지 않아도 된다.

 

* ACID Transactions : Atomic, Consistent, Isolated, Durable 

 

 

 

 

Transaction Isolation Level

Isolation Level : Read Uncommitted / Read Commited / Repeatable Read / Serializable 

Problem Type : Dirty Read / Nonrepeatable Read / Phantom Read

Serializable 사용하면 문제는 발생하지는 않는데, 메모리를 엄청 많이 잡아먹는다.

 

 

* Cursor

커서는 리코드의 집합의포인터이다. SELECT 구문을 이용해서 정의될 수 있다. 커서에는 네가지 타입이 있다.

- Forward only :

Scrollable Cursor 도 존재한다.

- Static : 

- Keyset : 

- Dynamic : 

 

 

* 리프로세싱 & 롤백 / 롤포워드 Reprocessing & Rollback/Rollforward

 

- 리프로세싱 Recovery via reprocessing :

데이터베이스가 저장된 알려진 포인트로 돌아가고, 거기서부터 다시 프로세스를 진행한다.

실현가능하지 않은 방식이다. 왜나하면...

1. 컴퓨터가 과도하게 스케줄링이 되어있다면, 절대로 복구된 시스템이 따라잡을 수 없기 때문이다

2. 비동기적인 이벤트들은, 비록 트랜잭션이 동시에 발생한다고 하더라도, 다른 결과들을 야기할 수 있다

 

- 롤백 / 롤포워드 Recovery via reprocessing :

주기적으로 데이터베이스를 저장을 하고, 저장한 이래로 데이터베이스의 변경 로그를 유지한다.

   -- 데이터베이스 로그는 데이터 변경의 기록들을 발생한 순서대로 보관하고 있는다.

실패를 하게 되면, 롤백 또는 롤포워드가 적용이 된다.

   -- 롤백 Rollback : undo the erroneous changes made to the database and reprocess valid transactions.

   -- 롤포워드 Rollforward : restore database using saved data and valid transactions since the last save.

 

 

* Checkpoint

 

체크포인트는 데이터베이스와 트랜잭션 로그의 동기화 포인트이다.

 

인서트 딜리트 

 

 

Chapter 10A. Managing Databases with Oracle Database 11g

 

이 장에서는 오라클을 사용하는 방법들에 대해서 소개하고 있다.

 

 

.

 

tpc.org

db engines.com

db lp

https://dblp.org/

 

dblp: computer science bibliography

case-insensitive prefix search: default e.g., sig matches "SIGIR" as well as "signal"exact word search: append dollar sign ($) to worde.g., graph$ matches "graph", but not "graphics"boolean and: separate words by spacee.g., codd modelboolean or: connect wo

dblp.org

 

 

.

 

 

국방 데이터 센터 - 폐쇄망,

데이터 센터 유치 반대하는 이유는? 단지 전기먹는 하마라는 이유때문에?


https://github.com/shjeon0708/project

 

GitHub - shjeon0708/project: test

test. Contribute to shjeon0708/project development by creating an account on GitHub.

github.com

 


Shamkant Navathe

728x90
반응형

'TABA > Database' 카테고리의 다른 글

TABA Sep 7th (2)  (0) 2022.09.07
TABA Sep 7th (1)  (0) 2022.09.07
TABA Sep 6th  (0) 2022.09.06
TABA Sep 5th (2)  (0) 2022.09.06
TABA Sep 5th (1)  (0) 2022.09.05
728x90
반응형

* 본 내용은 Tmax AI & Big Data Academy 나연묵 교수님의 수업과, Kroenke and Auer - Database Processing (데이터베이스 처리론), 11th Edition 을 바탕으로 작성하였습니다.

 

Chapter 7. SQL for Database Construction and Application Processing

 

 

View 는 가상 테이블이라서 ALTER 가 없다.

도메인

 

 

 

최초의 테이블을 만드는 명령어는 CREATE TABLE 이다.

- 각 열은 세 부분으로 나눠진다 : column name / data typle / optional constraints

CREATE TABLE ARTIST (
	ArtistID		Int			NOT NULL IDENTITY(1,1),
    LastName		Char(25)	NOT NULL,
    FirstName		Char(25)	NOT NULL,
    Nationality		Char(30)	NOT NULL,
    DateOfBirth		Numeric(4)	NULL,
    DateDeceased	Numeric(4)	NULL,
    CONSTRAINT	ArtistPK	PRIMARY KEY(ArtistID)
    CONSTRAINT	ArtistAK1	UNIQUE(LastName, FirstName)
    );

 

 

 

* Implementing Cardinalities

 

 

CREATE TABLE ARTIST (
	ArtistID		Int			NOT NULL IDENTITY(1,1),
    LastName		Char(25)	NOT NULL,
    FirstName		Char(25)	NOT NULL,
    Nationality		Char(30)	NOT NULL,
    DateOfBirth		Numeric(4)	NULL,
    DateDeceased	Numeric(4)	NULL,
    CONSTRAINT	ArtistPK	PRIMARY KEY(ArtistID)
    CONSTRAINT	ArtistAK1	UNIQUE(LastName, FirstName)
    CONSTRAINT	NationalityValues	CHECK
    				(Nationality IN ('Canadian', 'English', 'French', 'German', 'Mexican', 'Russian', 'Spanish', 'United States')),
    CONSTRAINT	
    CONSTRAINT	
    CONSTRAINT	
    );


CREATE TABLE WORK (
	WorkID			Int				NOT NULL IDENTITY (500,1),
    Title			Char(35)		NOT NULL,
    Copy			Char(12)		NOT NULL,
    Medium			Char(35)		NULL,
    [Descripotion]	Varchar(1000)	NULL DEFAULT 'Unkown provenance',
    ArtistID						NOT NULL,
    CONSTRAINT	WorkPK			PRIMARY KEY(WorkID),
    CONSTRAINT	WorkAK1			UNIQUE(Title, Copy),
    CONSTRAINT	ArtistFK		FOREIGN KEY(ArtistID)

 

 

* ALTER Statement

 

 

many to many

프로젝트의 키

 

프라이머리키 까지만 정의를 해주고, 외래키를 정의를 하지 않은채로 시작한다. 그 다음에 얼터 테이블 모드로 외래키를 나중에 추가해준다. 꼬여있으면 에러가 나서 돌아가지 않는다. 참조 무결성 제약조건 위반으로 안돌아간다.

 

 

* Removing Tables 

 

* SQL DML 

 

- INSERT

INSERT INTO... SELECT 절은 정규화 할떄에 사용하기에 좋다.

 

- UPDATE

UPDATE	CUSTOMER
SET	City - 'New York City'
WHERE	CustomerID = 1000;
UPDATE	CUSTOMER
SET	AreaCode = '333'
WHERE	City = 'Denver'

- DELETE

 

WHERE 절을 넣게 되면, 테이블 내에 있는 모든 행을 지우게 된다.

DELETE	FROM CUSTOMER
WHERE	CustomerID = 1000;

- JOIN ON syntax

SELECT	CUSTOMER.Name, ARTIST.Name
FROM	CUSTOMER JOIN CUSTOMER_ARTIST_INT
	ON	CUSTOMER.CustomerID =
    CUSTOMER_ARTIST_INT.CustomerID
    JOIN ARTIST
    	ON CUSTOMER_ARTIST_INT.ArtistID =
     ARTIST.ArtistID;

 

 

셋오브튜플 =/= 멀티셋. 유니온올은 멀티셋을 인정해준다

 

Relation JOIN

 

 

* SQL VIEW

 

 

* Trigger

- 어떤 이벤트가 발생하면 DBMS가 자동으로 실행되는 저장된 프로그램이다.

- 트리거의 타입은 세가지가 있다 : BEFORE / INSTEAD OF / AFTER

- 각각의 데이터 타입은 Insert, Update, 그리고 Delete를 위해 선언될 수 있다. 그러니 총 도합 9가지 종류의 트리거 타입을 지원한다.

 

* Stored Procedure

- 데이터베이스에 저장되어있고, 사용할 때에 컴파일되는 프로그램이다.

- Stored Procedure는 입력 매개변수를 받을 수 있고, 결과를 반환할 수 있다.

 

 


 

 

 

 

 

 

728x90
반응형

'TABA > Database' 카테고리의 다른 글

TABA Sep 8th (1)  (1) 2022.09.13
TABA Sep 7th (1)  (0) 2022.09.07
TABA Sep 6th  (0) 2022.09.06
TABA Sep 5th (2)  (0) 2022.09.06
TABA Sep 5th (1)  (0) 2022.09.05
728x90
반응형

* 본 내용은 Tmax AI & Big Data Academy 나연묵 교수님의 수업과, Kroenke and Auer - Database Processing (데이터베이스 처리론), 11th Edition 을 바탕으로 작성하였습니다.

 

Chapter 6. Transforming Data Models into Database Designs

타바 9월 7일 공부 내용

 

* E-R Relation 

 

- Entity -> relation - 정규화 -> relations

 

하나의 개체가 하나의 테이블이 된다.

 

Primary Key 기본키 선정하기 - short, numeric, and fixed.

 

Candidate (Alternate) Keys 대체키 - 프라이머리 키로 골라지지 않은 남은 키를 대체키(AK)라고 부른다.

후보키와 대체키는 완전히 같은 말은 아닌데, Kroenke 책에서는 동의어로 설명을 해놓았다.

 

* Column Properties :

1. Null Status : 행의 값은 NULL 이 될 수 있는지 없는지를 가리킨다.

개체 무결성 : 기본키는 널값을 가질 수 없다. - 기본키는 항상 NOT NULL이다

2. Data Type : CHAR(n) / VARCHAR(n) / DATE / TIME / MONEY / INTEGER / DECIMAL

   VARCHAR2 타입은 오라클에서 사용하는 새로운 타입인데, 문자를 설정할때는 가장 많이 사용한다.

3. Default Value : DBMS에서 새로운 열이 생성되었을 때 제공되는 기본값이다.

4. Data Constraints : 

 

   - 제약조건들은 CREATE TABLE 구문 안에서 정의될 수 있다. 아니면 ALTER 테이블 구문을 사용하면서 생성될 떄에 추가될 수 있다.

   - PRIMARY KEY

   - UNIQUE

   - NULL / NOT NULL

   - FOREIGN KEY

   - CHECK

 

 

* E-R => Relation

- 1:1 : 한 릴레이션의 기본키를 다른 릴레이션에 외래키로 추가

- 1:N : 한쪽의 기본키를 다쪽의 외래키로 추가

- N:M : 독립적인 릴레이션을 생성 => 교차 릴레이션 (intersection table)

   -- 양쪽 릴레이션의 기본키를 새 릴레이션에 외래키로 추가

   -- 이 외래키의 조합이 새 릴레이션의 복합기본키(PK)가 됨

 

* Relationship

 

 

- 1:1

하나의 개체를 다른 쪽의 개체 속에 외래키로 놓는다.

 

- 1:N

하나가 있는 쪽이 부모 테이블이고, 다수의 쪽이 자식 테이블이다. 

 

- N:M

 

 

ID 종속?

 

 

Supertype - Subtype Relation

1. 각 entity를 하나의 table로 표현

2. subtype entity 만 하나의 table로 표현

   supertype의 속성을 상속받아 표현

3,4. 모든 entity를 통합해서 하나의 table로 표현

 


 

minumum cardinality 따로 공부하기 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

728x90
반응형

'TABA > Database' 카테고리의 다른 글

TABA Sep 8th (1)  (1) 2022.09.13
TABA Sep 7th (2)  (0) 2022.09.07
TABA Sep 6th  (0) 2022.09.06
TABA Sep 5th (2)  (0) 2022.09.06
TABA Sep 5th (1)  (0) 2022.09.05
728x90
반응형

* 본 내용은 Tmax AI & Big Data Academy 나연묵 교수님의 수업과, Kroenke and Auer - Database Processing (데이터베이스 처리론), 11th Edition 을 바탕으로 작성하였습니다.

Chapter 3. The Relational Model and Normalization

 

주요 용어 설명 :

개체 : 

속성 :

관계 : 

'관계 클래스'와 '관계 인스턴스'의 차이 :

관계의 차수 : 

 

 

데이터 모델 (data model) :

 

실세계를 capture 하는 방법 또는 도구

종류 :

   개념적 데이터 모델 (conceptual data model)

   - E-R 모델

   - semantic network, semantic object model

   - UML

   - SEUL model

   논리적 데이터 모델 (logical data model)

   - 관계 데이터 모델 (relational data model) relation(table) 기반, E.F. Codd가 제안

   - 계층 데이터 모델 (hierarchical data model) tree 기반

   - 네트워크 데이터 모델 (network data model) graph 기반

 

Chapter 의 목표 :

1. 정규화의 기초적인 개념들 이해하기

2. Primary key, Candidate key, Composite key 구분하기

3. 릴레이션에서의 insertion, deletion, update anomaly 구분하기 

4. 

 

chapter premise 챕터의 전제

 

* 관계 데이터 모델 (Relational Data Model)

- <S,O,C> 로 구성 (구조, 연산, 제약조건 / Structure, Operation, Constraints)

 

릴레이션 (relation) 은 2차원 테이블이다. 각 행은 사물 또는 사물의 일부분과 관련된 데이터를 저장하고, 테이블의 열은 속성에 대한 데이터를 저장한다.

행은 튜플(tuple), 열은 속성(attribute)을 의미한다.

 

테이블이 릴레이션이 되기 위한 제약조건이 몇가지가 있다.

1. 테이블의 모든 칸은 단일값을 저장한다. 반복 그룹값이나 배열 값은 허용되지 않는다.

2. 주여진 열의 모든 값은 동일한 유형이어야 한다. 각 열에는 고유한 이름이 부여되고, 열들의 순서는 중요하지 않다. 

3. 한 테이블 내에는 동일한 행이 존재할 수 없고, 열과 마찬가지로 행들의 순서도 중요하지 않다.


함수 종속, 키, 유일성 구분할 수 있어야한다.

함수 종속 / 키 : 함수종속의 결정자와는 달리 키는 유일하다. / 유일성 : 


정규화

 

바람직한 형태의 릴레이션을 만들기 위해서는 릴레이션을 정규화시켜줘야한다.

 

1,2,3,BCDF,4,5차 정규형

두부이걸다조 (도부이결다조 - 도메인 / 부 / 이행적 / 결정키 / 다 / 조 ) (*정보처리기사 빈출 문제)

 

 

 

 

 

.

 


피터 첸 Peter Chen

728x90
반응형

'TABA > Database' 카테고리의 다른 글

TABA Sep 8th (1)  (1) 2022.09.13
TABA Sep 7th (2)  (0) 2022.09.07
TABA Sep 7th (1)  (0) 2022.09.07
TABA Sep 5th (2)  (0) 2022.09.06
TABA Sep 5th (1)  (0) 2022.09.05
728x90
반응형

* 본 내용은 Tmax AI & Big Data Academy 나연묵 교수님의 수업과, Kroenke and Auer - Database Processing (데이터베이스 처리론), 11th Edition 을 바탕으로 작성하였습니다.

Chapter 2. Introduction to Structured Query Language

 

* 데이터 언어 

 

- 관계 대수 기반

   DBMS 내부용. 질의 최적화 등 수행에 사용된다. Optimize 하는데 사용이 되기 때문에, 꼭 기억해야한다.

- 관계 해석 기반 

 

- 관계 매핑 기반

SQL -> IBM DB2

SEQUEL, SQL을 ANSI(NIST), ISO 표준화 시킨것

 

SQL 언어 문장

- DDL : 스키마 (테이블)

create table, alter table, drop table

create view, drop view

Create index, drop index

 

인덱스를 사용하면 검색은 빨라지지만, 연산은 느려질 수 있다. 튜닝 관련 책을 보면, 어떤 경우에 인덱스를 사용면 좋은지 안좋은지를 알 수 있다. 예를들어, 자주 업데이트가 일어나는 것에 대해서는 인덱스를 만들지 않는 것이 좋다.

 

- DML (데이터 조작어)

검색 : select from where 

삽입 : insert into 

삭제 : delete from 

갱신 : update set 

 

- DCL (데이터 제어)

주요 데이터 제어용, 주로 DBA나 응용 프로그래머가 사용

보안 권한부어 : grant to, revoke from

동시성 제어 : lock, unlock -- 이건 함부로 막 사용하면 deadlock 이 발생할 수 있다.

회복 : commit, rollback

 

SQL문 예시

 

- sorting the results : ORDER BY

SELECT *
FROM		ORDER_ITEM
ORDER BY	OrderNumber, Price;

 

 

와일드카드를 사용할 때는 LIKE를 사용해야한다

SELECT *
FROM *
WHERE Buyer LIKE 'Pete%';

Pete% 이면, Pete로 사용하는 모든 행/열을 출력한다.

 

 

 

 

 

SELECT
FROM
[WHERE]
[GROUP BY [HAVING]]
[ORDER BY]

 

 

 

 

728x90
반응형

'TABA > Database' 카테고리의 다른 글

TABA Sep 8th (1)  (1) 2022.09.13
TABA Sep 7th (2)  (0) 2022.09.07
TABA Sep 7th (1)  (0) 2022.09.07
TABA Sep 6th  (0) 2022.09.06
TABA Sep 5th (1)  (0) 2022.09.05
728x90
반응형

* 본 내용은 Tmax AI & Big Data Academy 나연묵 교수님의 수업과, Kroenke and Auer - Database Processing (데이터베이스 처리론), 11th Edition 을 바탕으로 작성하였습니다.

Chapter 1. Introduction

 

주요 용어 정리

 

* Data, Database

Data : 현실세계의 정보, 그것들의 집합이 데이터베이스.

 

운영체제 : 쓰레드 < 프로세스

데이터베이스 : 가장 작은 단위는 트랜잭션

tps : transacton per second

 

DB 구조 명시화한것이 스키마

 

설계를 잘못했을떄뜯어고치는 것이 스키마 튜닝

인덱스는 검색을 빨리할 수 있게 도와주는것

그것을 설정하는 것은 인덱스 튜닝

SQL 질의 쿼리 랭귀지를 잘못 짜도 성능이 저하되는데, 이것을 바꾸는 것은 쿼리 튜닝

 

스키마 튜닝

인덱스 튜닝

쿼리 튜닝

 

* Data model, modelling

 

* DBMS : Database Management Systems

 

* 글로벌 벤더 : IBM DB2, Oracle, Microsoft SQL Server, MySQL (오라클에 팔렸다), MariaDB, PostgreSQL, SAP HANA

* 국내 벤더 : CUBRID, Goldilocks, Altibase, Tibero

 

* Data language : SQL

 

* Database Design

툴 : E-R Win, Visio, DA#

 

* DBA : Database Administrator

 

* Database Tuning & Monitoring 

오렌지

 

DB 튜닝 XM?

 


 

 

https://db-engines.com/en/

 

DB-Engines - Knowledge Base of Relational and NoSQL Database Management Systems

DB-Engines DB-Engines is an initiative to collect and present information on database management systems (DBMS). In addition to established relational DBMS, systems and concepts of the growing NoSQL area are emphasized. The DB-Engines Ranking is a list of

db-engines.com

 

 

* 데이터베이스의 특징

- 데이터는 테이블에 저장된다. 테이블은 행과 열로 구성되어있다.

- 각 row에는 occurence 혹은 instance에 대한 데이터를 저장한다.

- 하나의 데이터베이스는 데이터와 관계(relationshiips)를 저장한다.

 

 

대문자로만 이루어져있으면 테이블 이름, 대소문자가 섞여서 이름이 구성되어있으면 컬럼 이름

 

Data 데이터 : 기록된 fact 와 figure

Information 정보 : 데이터로부터 파생된 지식

 

* 데이터베이스 예시

- OLTP (OnLine Transaction Processing) - 항공사, 은행

최초로 사용한 것은 항공사에서 탑승객 표를 관리하기 위해서 만들어졌다.

- MES

- ERP

- CRM

- DW (Data Warehouse) : 현재 + 과거 데이터

   OLAP (OnLine Analytical Processing)

   Data Mining (연관 분석, 분류, 클러스터링...)

 

* 데이터베이스 시스템의 구성요소

Users ↔️ Database Applications ↔️ DBMS (create, process, administer) ↔️ Database

** 애플리케이션은 사실 데이터베이스 시스템의 구성요소는 아니다

 

- DB 데이터베이스 : 운영데이터의 집합

- DBMS : 데이터베이스를 관리하는 SW

   High-end : IBM DB2(UDB) -> SQL, Oracle

   Mid-range ; Sybase, SQL Server, Informix / INGRES (UC Berkley) : Stonebraker, QUEL - POSTGRES, PostgreSQL

   Low-end : MySQL, Access

- Database System : 

- 데이터 언어 : Query Language

   SQL(SEQUEL), QUEL, QBE, XQuery, HiveQL

 

DB성능 단위 : transaction 트랜잭션

tps : transaction per second

 

TPC-C

TPC-E

TPCx-HS

 

https://www.tpc.org/

 

TPC-Homepage

 

www.tpc.org

 

* 데이터베이스 시스템의 구성요소 with SQL

Users ↔️ Database Applications ↔️ SQL ↔️ DBMS (create, process, administer) ↔️ Database

 

사용자가 직접 작성하는 SQL은 인터랙티브 SQL이라고 부른다.

 

* Database Applications

- Create and process forms

- Porcess user queries

- Ceate and Process reports

- Execute application logic

- Control application 

폼 - 사용자로부터 성적과 같은 정보를 입력을 받는다

쿼리 (퀴어리?) - 입력한 정보 차트모양의 테이블에 정리한다

리포트 - 하드커피가 가능한 모양으로 표로 정리한다

 

DBMS 

- Create database

- Create tables

- Create supporting structures (e.g.. indexes)

- Read database data

- Modify (insert, update, or delete) database data

Maintain database structures

- Enforce rules

- Control concurrency 

Integrity Rule : 무결성, 얼마나 정확한지를 의미한다.

 

* 기능? 

정의 : DB 구조 (스키마) 정의, 테이블 구조 정의

조작 : DB조작, 검색, 삽입, 삭제, 갱신. Retrieval, Insertion, Deletion, Update.

제어 : Recovery 회복, Concurrency control 무결성 제어, Security 보안, Integrity 무결성, Correctness 정확성.

** 무결성이 결여된 데이터는 Dirty Data 라고 부른다.

 

 

 

 

내일의 주제 : DB설계

1) From Existing Data (Chap.3, Chap 4)

2) New Systems Development (Chap.5 and Chap.6)

3) Database Redesign (Chap. 8)

 

 

데이터 Import, 테이블을 한개를 사용할 것인가 두개를 사용할 것인가

 

정규화를 하는 것에 따라서 다라질 수 있다.

 

 

 

 


짐 그레이, 데니스 샤샤 Dennis Shasha, 켄 톰슨 

728x90
반응형

'TABA > Database' 카테고리의 다른 글

TABA Sep 8th (1)  (1) 2022.09.13
TABA Sep 7th (2)  (0) 2022.09.07
TABA Sep 7th (1)  (0) 2022.09.07
TABA Sep 6th  (0) 2022.09.06
TABA Sep 5th (2)  (0) 2022.09.06

+ Recent posts