| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- Redundant Array of Independent
- nosql
- Service Worker
- 스프링부트의 장단점
- 기술면접
- 컴퓨터과학
- SPA MPA 특징
- OPC-UA
- Blazor WebAssembly
- C#이론
- SPA MPA 차이
- 스프링 스프링부트 차이점 공통점
- SPA MPA
- spring spring boot 차이점 공통점
- 스프링부트 단점
- 스프링부트 장점
- jvm구성요소
- C# @rendermode
- Blazor Web App
- 프론트엔드
- c언어 정보처리기사
- CS
- C# CS
- 정보처리기사실기 기본개념
- C# InteractiveServer
- REST API
- cs기술면접
- InteractiveServer
- C# Blazor
- 서버저장방식
- Today
- Total
담비의 개발블로그
국비지원교육 41일차(9주차&DB) 본문
데이터베이스 : data와 vase의 합성어
DBMS(database Management System) : 데이터베이스 관리 시스템
데이터베이스 분야에서 데이터를 원석, 정보를 보석으로 비유한다.
데이터 : 어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값 or 사실 or 자료자체
정보 : 수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여 가치를 추가하거나 새로운 의미를 이끌어 낼 수 있는 결과
파일 시스템을 통한 데이터 관리
- 데이터베이스 개념이 등장하기 전에 사용하던 방법이다. 서로 다른 여러 응용 프로그램이 제공하는 기능에 맞게 필요한 데이터를 각각 저장하고 관리한다. 각 파일에 저장한 데이터는 서로 연관이 없고 중복 또는 누락이 발생할 수 있다.
DBMS를 통한 데이터 관리
- 여러 목적으로 사용할 데이터의 접근&관리 등의 업무를 DBMS가 전담한다. 응용 프로그램이 필요한 데이터 작업을 DBMS에 요청하면, DMS는 자신이 관리하는 데이터베이스로 관련 작업을 수행하고 결과값을 제공한다.
데이터 모델
계층형 데이터 모델
- 나뭇가지 형태의 트리 구조를 활용하여 데이터 관련성을 계층별로 나누어 부모 자식 같은 관계를 정의하고 데이터를 관리한다. 일대다 구조의 데이터를 표현하기에는 알맞지만 자식 개체가 여러 부모를 가진 관계는 표현할 수 없다.
네트워크형 데이터 모델
- 그래프 구조를 기반으로 한다. 개체 간 관계를 그래프 구조로 연결하므로 자식 개체가 여러 부모 개체를 가질 수 있다는 점에서 계층형 데이터 모델과 차이가 있다.
객체 지향형 데이터 모델
- 객체 지향 프로그래밍처럼 데이터를 독립된 갬체로 구성하고 관리하며 상속, 오버라이드 등 객체 지향 프로그래밍에 사용되는 강력한 기능을 활용할 수 있다.
관계형 데이터 모델
- 데이터 간 관계에 초점을 둔다. 각 데이터의 독립 특성만을 규정하여 데이터 묶음을 나눈다.
관계형 데이터 베이스와 SQL
관계형 데이터 베이스
- 관계형 데이터 모델 개념을 바탕으로 데이터를 저장&관리하는 데이터 베이스
SQL
- RDBMS에서 데이터를 다루고 관리하는데 사용하는 데이터베이스 질의 언어이다. 즉 RDBMS에 데이터에 고난해 물어보고 결과를 얻는다.
관계형 데이터베이스의 구성 요소
테이블
- 엑셀의 시트로 생각하면 편하다.
- 데이터를 2차원 표 형태로 저장하고 관리한다. 이 표 형태를 테이블이라고 한다.
행
- 레코드라고 불린다.
- 저장하려는 하나의 개체를 구성하는 여러 값을 가로로 늘어뜨린 형태이다.
열
- 데이터를 대표하는 이름과 공통 특성을 정의한다.
- 열은 저장정보의 종류와 저장 가능한 값의 최대 길이 그리고 값의 중복을 허용하지 않는 등의 저장 조건과 범위를 지정할 수 있다.
특별한 의미를 지닌 키, 열
기본키(PK : Primary Key)
- 여러 키 중에서 가장 중요한 키로서 한 테이블 내에서 중복되지 않는 값만 가질 수 있는 키를 말한다.
1. 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 한다.
2. 값의 중복이 없어야 한다.
3. null 값을 가질 수 없다.
보조키
- 대체키라고도 부르며 후보키에 속해 있는 키이다.
외래키(FK : Foreign Key)
- 특정 테이블에 포함되어 있으면서 다른 테이블의 기본키로 지정된 키를 말한다.
복합키
- 여러 열을 조합하여 기본키 역할을 할 수 있게 만든 키를 말한다.
자료형
- 데이터가 어떤 형태의 데이터인지를 말할때 IT 분야에서는 보통 '자료형'이라는 용어를 사용한다.
- VARCHAR2(길이) : 4000byte만큼의 가변 길이 문자열 데이터를 저장할 수 있다.
- NUMBER(전체 자릿수, 소수점 이하 자릿수) : +38 and -38 자릿수의 숫자를 저장할 수 있다. NUMBER(p, s) 와 같이 표기할 경우 s자리만큼 소수점 이하 자릿수를 표현하고, 이 소수점 자리를 포함한 전체 p자리만큼 숫자 데이터를 저장한다.
객체
- 오라클 데이터베이스 내에서 데이터를 저장하고 관리하기 위한 논리 구조를 가진 구성요소
- 테이블 : 데이터를 저장하는 장소
- 인덱스 : 테이블의 검색 효율을 높이기 위해 사용함
- 시퀀스 : 일련 번호를 생성해 줌
PL/SQL
- 오라클 데이터베이스의 데이터 관리를 위한 별도의 프로그래밍 언어
- PL/SQL을 사용하면 변수, 조건문, 반복문 등 프로그래밍 언어에서 제공하는 요소를 사용하여 데이터를 관리할 수 있다.
SQL을 사용할 때 보통 대문자로 사용을 한다. 대문자 소문자 상관없이 쓸 수 있다.
SELECT 문
- 데이터 베이스에 보관되어 있는 데이터를 조회하는 데 사용한다. SELECT절과 FROM절을 기본 구성으로 SELECT문을 작성한다.
FROM절
- 조회할 데이터가 저장된 테이블 이름을 명시한다.
작성방식
SELECT [조회할 열 1 이름], [열2 이름], .....,[열N 이름]
FROM [조회할 테이블 이름];
*
SELECT * FROM 조회할 테이블 이름; 이렇게 작성하면 테이블 전체 열을 조회할 수 있다.
DISTINCT
- SELECT문으로 데이터를 조회한 후 DISTNCT를 사용하여 중복을 제거한다.
- 중복 데이터를 삭제할 수 있다.
SELECT DISTINCT DEPTNO
FROM EMP;
ALL
- ALL은 DISTINCT와 반대로 데이터 중복을 제거하지 않고 그대로 출력한다.
SELECT ALL JOB, DEPTNO
FORM EMP;
별칭 지정 방식
SAL*12+COMM 이렇게 연산을 쓴 SAL의 이름을 ANNSAL로 변경하는 방법
SAL*12+COMM ANNSAL : 연산 및 가공된 문장 이후 한 칸 띄우고 별칭 지정
SAL*12 COMM "ANNSAL" : 연산 및 가공된 문장 이후 한 칸 띄우고 별칭을 큰따옴표(" ")로 묶어 지정
SAL*12 COMM AS ANNSAL : 연산 및 가공된 문장 이후 한 칸 띄운 후 'AS', 한칸 뒤에 별칭 지정
SAL*12 COMM AS "ANNSAL" : 연산 및 가공된 문장 이후 한 칸 띄운 후 'AS', 한칸 뒤에 별칭을 큰따옴표(" ")로 묶어 지정
- 실무에서는 4가지 방식 중 세 번째 방식을 선호하는 경향이 있다.
ORDER BY
- 데이터를 정렬된 상태로 출력하기 위해 사용한다.
- 여기저기 흩어져 있는 데이터를 특정 기준에 따라 가지런히 순서를 맞추는 것은 많은 자원(비용)을 소모한다. 정렬을 하지 않는다면 결과를 더 빨리 출력할 수 있다.
- SQL문의 효율이 낮아지면 서비스 응답 시간이 느려진다.
- 많은 비용과 효율이 낮아지는 ORDER BY를 사용할 때는 잘 생각해보고 사용해야 한다.
SELECT [조회할 열 1 이름], [열2 이름], .....,[열N 이름]
FROM [조회할 테이블 이름]
.
.
.
ORDER BY [정렬하려는 열 이름 (여러 열 지정 가능)] [정렬 옵션];
오름차순 (오름차순 혼자만 쓸거면 ASC는 사용 하지 않아도 된다)
SELECT [조회할 열 1 이름], [열2 이름], .....,[열N 이름]
FROM [조회할 테이블 이름]
.
.
.
ORDER BY [정렬하려는 열 이름 (여러 열 지정 가능)] ASC ;
내림차순
SELECT [조회할 열 1 이름], [열2 이름], .....,[열N 이름]
FROM [조회할 테이블 이름]
.
.
.
ORDER BY [정렬하려는 열 이름 (여러 열 지정 가능)] DESC ;
'국비교육' 카테고리의 다른 글
| 국비지원교육 43일차(9주차&DB) (0) | 2024.01.12 |
|---|---|
| 국비지원교육 42일차(9주차&DB) (0) | 2024.01.11 |
| 국비지원교육 40일차(8주차) (0) | 2024.01.09 |
| 국비지원교육 37일차(8주차&java) (0) | 2024.01.04 |
| 국비지원교육 36일차(8주차&java) (2) | 2024.01.03 |
