오늘은 DBMS의 개념과 HR계정의 tables을 활용하여 간단한 기능들을 구현해보겠습니다.
그저 "Hello world"만 출력하다가 이제는 DBMS를 활용하는 법까지 배우게 되네요..
그래도 어렵다고 집에 갈 수는 없죠? ㅋㅋ
데이터베이스 개요
1-1. Data(자료)
- 현실 세계에서 관찰이나 측정을 통해 수집한 단순한 사실이나 값
1-2. 정보(information)
- 의사 결정에 도움을 줄 수 있는 유용한 형태
- 자료를 가공(처리)해서 얻을 수 있는 결과를 의미
1-3. 데이터베이스
- 어느 한 조직에 여러 응용 시스템들이 공동으로 사용할 수 있도록 통합하여 저장한 운영데이터의 집합
- 공동의 목적을 지원하기 위한 서로 관련된 자료들의 모임
- 주제와 관련된 의미있는 데이터들의 모음
DBMS
2-1. DBMS(DataBase Management System)
- 사용자에게 데이터베이스를 생성하고 유지할 수 있게 하는 프로그램 집합
- DBMS는 데이터베이스 언어를 가지고 있으며 이를 통해 데이터의 삽입/삭제/수정을 할 수 있다.
2-2. DBMS 기능
- 데이터의 무결성 유지 //무결성이란? 기준을 세우고 중간에 잘못된 데이터가 없게 최대한 일관성 있게 유지
-> DB의 데이터는 실세계를 적용하는 규칙을 항상 만족해야 함
-> 서로 다른 부분에 있는 두 개의 데이터가 서로 모순되지 않아야 함, 데이터의 일관성 유지
2-3. DBMS의 3가지 특성
- 데이터의 논리적 독립성
-> 한 속성에 가해진 변경이 동일한 테이블에서 다른 속성에 영향을 주지 않는 것을 의미
-> 응용 프로그램에 영향을 주지 않고 데이터 구조를 변경할 수 있게 하는 것
- 참조 무결성과 데이터 무결성
-> 응용 프로그램 개발 시 무결성 제약 조건을 신경쓰지 않아도 된다.
- 비정규 질의
-> 사용자는 작업을 실행하는 방법을 명시하지 않고도, 데이터베이스에게 어떤 데이터를 조회할 것인지를 명령할 수 있다.
위에 처럼 기본으로 Dbeaver에서 제공되는 데이터베이스 소스로 간단한 기능들을 한 번 알아봅시다!
기본은 SELECT를 활용 출력하고 싶은 데이터를 미리 정해줍니다. 그다음 FROM을 사용해서 어디서 데이터를 가져올지를 결정하고, WHERE을 활용해 'Bell'이라는 LAST_NAME을 가진 사람의 SELECT된 데이터들을 가져옵니다.
그리고 여기에 AND를 입력하면 조건을 하나 더 추가할 수 있습니다. 물론 AND를 하나 더 넣고 새로운 조건을 더 추가할 수도 있습니다.
employees 테이블에서 WHERE과 AND로 원하는 값을 출력합니다. 여기서 SELECT에 출력하고 싶은 목록들을 콤마로 연결합니다.
알리아스 별칭을 사용해서 SELECT로 출력하고 싶은 이름을 다른 이름으로 변환 할 수 있습니다!
또 DISTINCT를 활용해서 하나의 콜롬(열)에 대해 중복된 것들을 제거 할 수 있죠.
그러다보면 중복이 제거된 체 출력되는데 목록에 null 값이 나오기도 합니다. 이럴 때면 한 번 WHERE로 null 값의 주인을 찾아봐도 됩니다. 아마 DEPARTMENT_ID가 null값이 나오는 이유는 신규직원이거나 부서이동이 원인일 수도 있습니다.
자바에서 본것처럼 DBMS도 연산자를 활용할 수 있습니다. 연봉이 5000 이상인 사람 목록도 뽑을 수 있습니다. 또 논리 연산자 OR을 활용해서 둘 중 하나만 조건이 만족해도 출력시킬 수 있으며 not이나 <> , ! 이런 것들로 ~가 아닌 것들도 출력할 수 있습니다. !나 부등호, or은 자바에서도 배운 것들이니 쉽게 적용할 수 있을 것입니다.
범위에 대한 것을 출력할 때도 비교연산자를 활용할 수도 있지만, BETWEEN A AND B로 간단히 한줄에 나타낼 수도 있습니다. 또한 논리연산자 OR도 in( )으로 간단히 나타낼 수 있습니다.
이 글이 정말 도움이 되었습니다.