본문 바로가기
computing

20250310_DB1

by greentworkshop 2025. 3. 10.

데이터베이스의 등장 배경

 

•각 응용 프로그램이 독립적으로 파일을 다루기 때문에 데이터가 중복 저장될 가능성이 있음 (중복성)
•응용 프로그램별로 필요한 데이터를 별도의 파일로 관리함 (종속성)
•동시에 파일을 다루기 때문에 데이터의 일관성이 훼손될 수 있음

SQL(Structured Quarry Language)

구조화된 쿼리 언어

 


DBMS

 

데이터를 가진 쪽을 서버(server), 외부에서 데이터 요청하는 쪽을 클라이언트(client)


DB용어

관계형 데이터베이스(RDB Relational Data Base..):

여러 개의 테이블이 특정 관계로 이루어져 있는 구조를 가진 데이터 베이스

엔티티

사람, 장소, 사물, 사건 등과 같이 독립적으로 존재하면서 고유하게 식별이 가능한 실세계의 개체 (실존하는 개체의 정보)

엔티티 집합

동일한 속성을 가진 엔티티들의 집합. 엔티티 집합에 속한 요소들이 여러 엔티티 집합에 속할 수도 있다

스키마(외부, 개념, 내부)

엑셀표처럼 데이터들(엔티티들)을 DB에 저장하기 위해 일정한 기준으로 정의한 틀

 

Table용어

Relation (TABLE)

관계형 데이터 베이스에서 정보를 구분하여 저장하는 기본 단위

Attribute (속성, 학술적 정의 - 논문)

TABLE의 열, FIELD, COLUMN으로도 불림

Tuple(학술적 정의 - 논문)

TABLE의 행, RECORD, ROW으로도 불림

 

Table

  Attribute, Field, Column
Tuple, Record, Row      
     
     

Domain

Attribute이 가질 수 있는 값의 집합(데이터 값의 범주) ex) 상품개수 : 

Degree (차수)

Attribute (열)의 개수

Cardinality

Tuple (행)의

command line interface

스키마를 정의한다.?

데이터 타입
int 주 정수 데이터
-2^31 ~ 2^31의 범위를 표현
bigint int의 범위를 초과하는 데이터
-2^63 ~ 2^63의 범위를 표현
float(n) 부동 소수점 숫자 데이터: n-자리의 소수점 표시
0 < n < 53
char(n) 고정 크기 문자열 데이터: n 바이트의 문자열
1 < n < 8000
varchar(n) 가변 크기 문자열 데이터: n-바이트 이하의 문자열
1 < n < 8000 or n < 2^31 (이 경우 varchar(max) 쓴다)
datetime 소수 자릿수 초가 있는 24시간제 기준의 시간과 결합된 날짜를 정의

 

INSERT INTO 데이터를 입력하는 구문
SELECT 데이터를 읽어오는 구문
DELETE 데이터를 삭제하는 구문
UPDATE 데이터를 수정하는 구문
WHERE 데이터 필터하는 조건절

SQL 구문은 무조건 ; 으로 끝나야 실행된다

즉, 엔터 키로 줄을 띄는 것은 문법에 상관없다

조건절(WHERE)을 활용하는 기호
<> | != | ^ 모두 ≠(같지 않음)을 나타내는 기호
BETWEEN
A AND B
AB의 사이 값 불러오기
LIKE 특정 문자열이 들어간 값 불러오기
IN 2개 이상의 조건 중 하나라도 만족하는 값 불러오기
AND 모든 조건을 만족하는 값 불러오기
OR 하나의 값이라도 만족하는 값 불러오기
IS NULL/
IS NOT NULL
컬럼 값이 NULL인 값 불러오기 / NULL이 아닌 값 불러오기
(NULL : 값이 없음)
NOT 조건이 아닌 것

 

실습

실습 1
실습 2

MYSQL workBench 실습

마우스를 올려놓으면 ...

 

 

 

market데이터

INSERT INTO market (seller, amount, reg_date)
VALUES ('홍길동', 0, '2023-03-07 10:10:10');
SELECT * FROM market WHERE seller = '홍길동';
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('김영진', '닌텐도스위치' , 1 , 100000 , '2023-03-07 10:10:10');
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('김민준', '사과' , 1 , 1300 , '2023-03-07 10:10:10');
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('나수아', 'PS5' , 1 , 350000 , '2023-03-09 12:48:20');
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('남건우', '아이폰14' , 1 , 1000000 , '2023-02-21 23:54:00');
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('민지환', '책상' , 1 , 80000 , '2023-02-16 17:54:24');
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('홍진호', '벙커벙커' , 1 , 222222 , '2022-02-02 02:02:02');
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('조승우', '뮤지컬 티켓' , 1 , 80000 , '2022-12-26 00:00:00');
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('이가은', '콜라' , 1 , 500 , '2023-03-01 10:55:00');
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('최하린', '핸드크림' , 1 , 4500 , '2022-11-06 18:45:05');
INSERT INTO market (seller, product, amount, price, reg_date)
VALUES ('장승우', '이어폰' , 1 , 90000 , '2022-12-24 12:00:00');

 

 

 

교수님 책상
      내 자리        
               
               
               
               
               

'computing' 카테고리의 다른 글

20250318_OS3  (0) 2025.03.18
PCB(Process Control Block)의 기능, 특징  (2) 2025.03.18
20250317_DB2  (2) 2025.03.17
명언 잠금화면 앱 개발_기획서  (4) 2025.03.16
20250306_java_1  (0) 2025.03.06