회사에서 데이터베이스를 배워야해서 알아도 다시, 몰라도 다시한번 봐야겠다고 생각이 들어 공부한다.
오라클로 배우는 데이터베이스 입문 책으로 공부했다.
-데이터
관측하거나 실험으로 나온 사실 또는 자료 그자체
-정보
수집한 데이터로 어떤 목적을 위해 분석하거나 가공하여 새로운 의미가 있는 결과물
목적은 오라클과 sql문에 익숙해지는것이므로 정의는 가볍게 집고넘어간다.
DB는 왜쓰는가?
파일시스템과 많이 비교하는데, 기능에 맞게 필요한 데이터를 각각저장하고 관리하는 파일시스템은 서로 연관이 없기때문에 중복또는 누락이 발생할 수 있다. 하지만 데이터베이스를 쓰면 데이터 무결성에 따라 한번에 관리 할 수 있다.
가령 로그램에 졸업생으로 되어있지만, 장학금신청프로그램에는 재학생으로 찍혀있다면, 장학금신청이 불가능해지는 문제가 발생할 수 있다는 것.
대표 데이터모델에는 계층형, 네트워크형, 관계형, 객체지향형 등이 이있고 요즘떠오르는 nosql이 있다.
계층형 데이터 모델
트리구조를 활용하여 관련성을 계층별로 나누어 관리함.
네트워크형 데이터 모델
그래프 구조를 기반으로 관리
객체 지향형 데이터 모델
객체지향 프로그래밍에서 사용하는 객체 개념을 기반으로한 데이터모델
상속, 오버라이딩등 기능을 사용할 수 있다.but 적용하는것이 어려워 상용되지는 않는다.
관계형 데이터 모델
가장 많이 사용되는 데이터모델로, 데이터간의 관계에 초점을 둔다.
관계형 데이터 모델의 핵심기능
개체 : 데이터화 하려는 사물, 개념의 단위
속성 : 개체를 구성하는 데이터의 가장 작은 단위 테이블의 열에 해당함
관계 : 개체와 개체, 또는 속성간의 연관성을 나타내기 위해 사용.
nosql 데이터베이스
SQL문을 사용하지 않고 스크립트형태로 쓰는 데이터베이스로 mongoDB등 이있다.
1980년대 후반부터 지금까지 가장많이 사용하는 데이터베이스
Oracle, MySQL, MS-SQL, MariaDB, PostgreSQL등이 있다.
SQL?
데이터베이스의 질의 언어. RDBMS에서 데이터에 관해 물어보고 원하는 결과값을 얻기위해 사용한다.