개발 + 저장 = system
DB(data base) : 저장소
- 기본개념 : 공유, 저장, 통합, 운영
- 1970년대 만들어짐
- E.f.codd 애드거 프랭크 커드 : 관계형 DB를 최초로 만들어 논문발표
RDB
관계형 모델(relational model)에 따라 키(key)와 값(value)을 표(table) 형태로 구성한 데이터베이스.
관계형 데이터베이스(RDB: Relational DataBase)는 1970년대 IBM의 에드거 F. 커드(E. F. Codd)가 제안한 관계형 모델(relational model)을 바탕으로 개발되었다. 관계형 모델은 실제 세계의 데이터를 수학적 논리 관계 개념을 사용하여 행(row)과 열(column)로 표현한 표(table)와 행과 열의 상관관계로 정의하는 데이터 모델이다.
- 표(table): 데이터를 저장하는 객체로서 관계형 데이터베이스의 기본 단위
- 행(row): 가로 방향으로 이루어진 연결된 값
- 열(column): 세로 방향으로 이루어진 특정 속성 값(더이상 나눌 수 없는 특성)
표(table)는 각 행과 열에 대응하는 값(value)을 가지며, 행(row)의 검색을 위해 식별자로 사용되는 열을 키(key)라고 한다.
이전 데이터베이스는 응용 프로그램에 따라 특화된 구조를 갖도록 개발되어 응용 프로그램별로 서로 다른 구조를 가져 비효율적이며 유지·관리가 어려웠다. 이와는 다르게 관계형 데이터베이스(RDB)는 스프레드시트(spreadsheet)와 유사하게 데이터를 단순한 표(table) 형태로 저장하여 일반적으로 사용자가 이해하기 쉽다. 또한 구조화된 질의 언어(SQL: Structured Query Language)를 이용하여 저장된 데이터를 관리(검색, 추가, 갱신, 삭제)함으로써 데이터를 쉽게 이용하고, 응용 프로그램의 변경 없이도 데이터 항목을 쉽게 확장할 수 있다는 장점이 있다. 그뿐만 아니라 특정 표(table)에 대한 접근 권한 관리 등 다양한 보안 기능을 제공하여 데이터 공유 환경에서 효과적이다. 반면 처음에 설계했던 데이터베이스 구조가 시간이 지남에 따라 확장, 변경되면서 이를 최적화하거나 유지하고, 관리하는 데 상대적으로 많은 비용이 든다.
상용 프로그램으로는 오라클(Oracle), 마이크로소프트의 SQL server, IBM의 DB2 등이 가장 많이 사용되고 있으며, 프리웨어로는 MariaDB, PostgreSQL, SQLite 등이 있다.
- 트랜잭션(transaction)
하나의 작업을 수행하기 위해 필요한 데이터베이스의 연산들을 모아놓은 것으로,
데이터베이스에서 논리적인 작업의 단위가 된다. 트랜잭션은 장애가 발생했을 때
데이터를 복구하는 작업의 단위도 된다.
DBMS(Data Base Management System)
데이터베이스를 직접 응용 프로그램들이 조작하는 것이 아니라 데이터베이스를 조작하는 별도의 소프트웨어
종류
Oracle, MY SQL(돌고래), Maria DB(물개), Post greSQL(코끼리), SQL SERVER 등
//밑 줄은 같은 회사
//SQL : 자바기반프로그램
Oracle 11G(ver)
- SQL developer : 도구(tool) // 한글이나 엑셀 같은...!
client(요청자, 32bit)
--- request(요청)->
<--- (응답)response ----
Server(응답자, 64bit)
1521 오라클전용포트번호 // 무조건 기입
->port : ex) 내선번호
sqlplus sys/java@localhost: 1521 as sysdba
sqlplus.exe 명령어
sys : 관리자 계정(아이디)
/ : 구분자
java : 관리자 비밀번호
localhost (=127.0.0.1) : 네트워크 상의
내 오라클서버
1521 : 오라클 전용 포트번호
as : ~로써
sysdba : system database administrator
create user test identified by java;
create : 만들다
user : 계정
test : ID
identified by : PW는? java
grant connect, resource to test;
-> 관리자만 가능!
grant : 권한을 주다 <->revoke
connect : 접속
to : ~에게
test : ID
^Z(ctrl + Z) : error 시 뒤로가기(cmd 창에서)
exit : logout
주석
-- 한 줄
/* */ 여러 줄
ipconfig : IP주소
Data -> 컴퓨터 -> 정보(데이터를 가공한 결과, 유용한 의사결정을 내릴 수 있게 도움.)
insert, update, delete, select 중요!
실습예제
'ddit > Oracle' 카테고리의 다른 글
6일차 SQL,DDL, DML,DCL,TCL, 테이블 모델링 (0) | 2022.05.10 |
---|---|
5일차 테이블 명세서, 스키마구조, Forward Engineering (0) | 2022.05.09 |
4일차 사전만들기 (0) | 2022.05.07 |
3일차, ERD 그리기, 해석하기 (0) | 2022.05.06 |
2일차, DB, DBMS, RDBMS, Tablespace, DDL, Entity (0) | 2022.05.03 |