일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- HTTP
- 2024년회고
- https
- 혼자서공부하는네트워크
- GUI
- 혼공네트
- 혼공학습단
- column grid system
- 제이콥닐슨 사용성평가기준
- UI
- 자바스크립트문자열출력하기
- 혼공네트워크
- 혼공시리즈
- 혼자공부하는네트워크
- 이더넷허브
- 네트워크
- HTTP메시지구조
- HTTP와HTTPS차이점
- 혼공학습단11기
- 혼자공부하는
- UX
- 혼자공부하는얄팍한코딩지식
- 혼자서공부하는
- user flow
- 피터모빌의벌집모형
- 프로그래머스문자열출력하기
- 혼자서공부하는얄팍한코딩지식
- 한빛미디어
- 사이드이펙
- 혼공얄코
- Today
- Total
호기심으로 시작한 Frontend 꾸준함으로 채워나가는 Developer
[혼공얄코] Chapter 02-7 디지털 시대, 데이터와 데이터베이스의 이해 본문
정보를 구성하는 자료 데이터와 데이터베이스
- 데이터 : 어떤 의미나 목적 없이 단순히 수집된 순수한 자료, 정보보다 더 작은 개념
- 정보 : 데이터가 모여 의도나 목적에 따라 분석되어 의미 부여됨
- 데이터베이스 : 데이터 + 기지, 많은 양의 데이터를 한데 모아 놓은 곳, 수정 삭제 할 수 있는 데이터의 집합
데이터 창고를 관리하는 프로그램 DBMS
- 데이터베이스를 구축하기 위한 전문적인 프로그램 DBMS (DabaBase Management System)
- 특정 데이터를 저장, 조회, 삭제, 수정 가능
- 중복되거나 잘못된 형식으로 저장되는 것을 방지해서 양질의 데이터베이스를 유지
- 외부의 접근을 통제하고 사용자마다 권한을 지정해서 보안을 유지할 수 있음
- 허용된 사용자가 원하는 대로 데이터를 살펴보고 조작할 수 있도록 여러가지 인터페이스를 제공
- MySQL, MongoDB, 레디스 등
데이터베이스계의 오랜 대세 관계형 데이터베이스
- 엑셀과 유사한 방식, 테이블(표)에 데이터를 저장하는 방식
- 열과 행으로 이루어져 있고 형식을 미리 설정하여 잘못된 데이터 입력을 방지
오라클 데이터베이스
- 미국 거대 IT기업 오라클에서 만든 제품
- 은행, 대기업에서 사용할 만큼 강력한 기능과 안정성을 자랑, 다양한 운영체제에서 운영이 가능
- 유료, 비교적 높은 가격
MySQL
- 오라클과 점유율 1,2 위를 다투며 스타트업, 소기업 또는 개인 용도로 사용
- 소스 코드가 공개된 오픈 소스 제품, 용도에 따라 무료로 사용 가능
- 2010년 오라클에 인수되었지만 아직 오픈 소스로 제공되고 있다.
마이크로소프트 SQL 서버
- MSSQL 이라고 불리며 마이크로소프트에서 만든 제품
- 윈도우 서버에서만 구동이 가능, 윈도우 프로그래밍이 가능한 C# 과 높은 호환성을 가짐
- 라이센스별로 금액이 다르고 가용 범위도 다르다.
PostgreSQL
- 무료로 사용할 수 있는 오픈 소스 데이터베이스
- 다양한 데이터 타입을 지원하며 객체지향 프로그래밍을 적용할 수 있는 등
개발자에게 편리한 기능을 갖추고 있어 점점 인기가 많아짐
MariaDB
- 오라클에 인수되면서 오픈 소스 사용이 불확실해짐에 따라 PostgreSQL과 함께 대안으로 사용되는
오픈 소스 무료 데이터베이스
- MySQL5.5버전에서 분리되어 독자적으로 발전, MySQL과 높은 호환성을 갖음
SQLite
- 서버가 아닌 클라이언트에서 작동하는 용도로 만들어졌다.
- 비교적 가벼운 데이터베이스로 안드로이드와 iOS에 포함되어 있으며 응용 프로그램 실행에 필요한 데이터를
기기 내에서 관리하는데 사용
관계형 데이터베이스 언어 SQL
- 텍스트로 작성된 명령어로써 데이터를 처리하기 위한 SQL(구조화 질의 언어, Structured Query Language)
SELECT Name, Birthday FROM Students WHERE Sex = '남';
=> Students 테이블에서 성별이 '남'dls godemfdml 'Name'과 'Dormitory' 열을 선택해서 조회 하라는 의미
INSERT INTO HRTeacher (NAME, Class) VALUES ('조범수', 6);
=> Teacher 테이블에 6반 담임 '조범수'를 추가합니다
UPDATE Students SET class = 6 WHERE Name = '이서아';
=> Students 테이블에서 이름이 '이서아'인 학생을 6반으로 이동
DELETE FROM Students WHERE Name = '지수호';
=> Students 테이블에서 이름이 '지수호'인 학생을 삭제
관계형 데이터베이스를 제외한 DBMS NoSQL
- 서비스나 프로그램에 따라서는 관계형 데이터베이스가 가장 효과적인 방식
문서 데이터베이스
- 문서의 형태로 저장
- MongoDB, CouchDB 등이 있음
키-값 데이터베이스
- 키와 값의 쌍만을 저장하는 단순한 형태의 데이터베이스
- 실행 속도 빠르며, 용량 부족 시 다른 서버와의 분담이 용이한 수평 확장성을 갖고 있음
- 레디스, 아마존 다이나모DB, 맵캐시드 등
그래프 데이터베이스
- 가족 구성원과의 관계도처럼 각 구성원을 뜻하는 여러 노드(node)와 그들 간의 관계를 뜻하는 엣지(edge)로
구성된 자료 구조를 뜻함
- 데이터베이스는 여기에 각 노드의 정보인 프로퍼티(property)를 더해서 데이터로 저장
- SNS에서 사용자 간의 친구 관계를 구현하는 용도로 유용하게 사용
- Neo4j, JanusGraph 등
확인문제
1. 다음 중 문장에 들어갈 알맞은 단어를 보기에서 찾아 써 보세요.
- 데이터를 분석하여 통계로 나타내거나 의미를 갖게 된 것을 (정보)라고 하며,
데이터가 전산상에 집합으로 구축된것을 (데이터베이스) 라고 합니다.
- 데이터베이스를 구축하고 관리하는 프로그램은 (DBMS)입니다.
2. 다음 중 틀린 설명을 고르세요.
3 NoSQL 은 테이블을 분할해서 효율적으로 데이터를 저장할 수 있습니다.
3. 다음 중 문장에 들어갈 알맞은 단어를 보기에서 찾아 써 보세요.
RDBMS의 테이블은 (행)와 (열)으로 구성되어 있으며, 그 안의 데이터를 다루기 위해 (SQL) 이란 언어를 사용합니다.
4. 다음 중 용도에 적합한 데이터베이스의 종류를 써 보세요
- 단순한 구조의 데이터를 빠르게 처리하여 로그인 등을 구현 (키-값 데이터베이스)
- 여러 요소 간의 관계 표현 (그래프 데이터베이스)
- 체계적이고 일관된 다량의 데이터 보관 및 처리 (관계형 데이터베이스)
- 형태가 일정하지 않은 데이터를 문서 단위로 처리 (문서 데이터베이스)
'혼공 시리즈 > 혼공얄코' 카테고리의 다른 글
[혼공얄코] Chapter 03-1 개발자의 길로 들어서기: 프로그래밍 용어 알기 (2) | 2024.01.29 |
---|---|
[혼공얄코] Chapter 02-8 개발자들은 왜 리눅스를 좋아하나요? (1) | 2024.01.25 |
[혼공얄코] Chapter 02-6 IP는 뭐고 HTTPS 는 뭐죠? (0) | 2024.01.22 |
[혼공얄코] Chapter 02-5 웹이 보이는 곳과 보이지 않는 곳 (0) | 2024.01.19 |
[혼공얄코] Chapter 02-4 스마트폰 앱인데 웹사이트라고요? (0) | 2024.01.19 |