데이터베이스 9

📑 조인의 종류와 차이점 비교 분석

샘플 데이터 베이스 구조 기본 용어 정리 JOIN : ▷◁ ※ 세타 조인 정의 R(X), S(Y), A∈X, B∈Y 에 대하여 -> 릴레이션 R과 릴레이션 S의 애트리뷰트 X, Y -> A는 X에 포함된 애트리뷰트, B는 Y에 포함된 애트리뷰트 -> 릴레이션 ≒ 테이블, 애트리뷰트 ≒ 컬럼(속성) R ▷◁AθB S = { r · s | r∈R ∧ s∈S ∧ ( r.Aθs.B) } -> A, B : 조인 애트리뷰트(join attribute) -> 조인의 기준의 되는 공통 속성 -> 릴레이션 R과 S를 조인하는 데, R의 속성 A와 S의 속성 B를 기준으로 하여 R과 S의 부분집합을 떼어서 합친다. -> 릴레이션의 결과 차수 -> R의 차수 + S의 차수 ;; 차수 : 컬럼의 개수 -> 결과 릴레이션의 애..

📑 [PL/SQL] 프로시저

1. 프로시저(Procedure)란? 데이버테이스에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리시스템에 저장한 것으로 영구 저장 모듈(Persistens Storage Module)이라고도 불린다. 테이블에서 데이터를 추출해 조작하고 그 결과를 다른 테이블에 다시 저장하거나 갱신하는 일련의 처리를 할 때 주로 프로시저를 사용한다. 보통 저장 프로시저를 프로시저라고 부르며, 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이다. 즉, 특정 작업을 위한 쿼리들의 블록이다. 2. 장점 하나의 요청으로 여러 SQL문을 실행시킬 수 있다.(네트워크 부하를 줄일 수 있다.) 네트워크 소요시간을 감소시켜 성능이 개선된다. 여러 어플리케이션과 공유가 가능하다.(API처럼 제공가능) 기능 변경..

📑 SQLD_데이터 모델링의 이해

3.1 데이터 모델의 이해 3.1.1 모델링이란? 우리가 살고 있는 3차원의 복잡한 현실 세계를 단순화하여 표현하는 것 현실 세계를 추상화하여 그 구조를 표현한 것 현실 세계에 존재하는 사물이나 사건에 관한 관점 및 양상을 연관된 주체(사람 or 그룹)를 위하여 명확하게 하는 것 IT시스템의 대상이 되는 업무를 분석하여 정보 시스템으로 구성하는 과정에서 업무의 내용과 IT시스템의 모습을 적절한 표기법으로 표현하는 것 모델링의 특징 추상화 : 복잡한 현실 세계를 일정한 형식에 맞게 표현하는 것 단순화 : 복잡한 현실 세계를 서로가 약속한 규약을 준수하는 표기법이나 언어로 표현하는 것 명확화 : 모델을 보는 여러 관계자가 이해하기 쉽게 애매모호함을 제거하여 명확하게 표현하는 것 3.1.2 모델링의 관점 데이..

📑 Tomcat다운로드&환경설정_HTML_국비_DAY40

지난 시간까지 학습했던 JDBC의 핵심은 버튼 혹은 스윙 프로그램이 아닙니다. DB모델을 모듈화는 과정이 중요합니다. 작업을 하는 언어만 자바에서 html로 바뀔 뿐입니다. Dao, Dbservice, vo의 역할과 dao가 sql명령을 처리하는 과정을 정리해서 이해하고 공부해야 합니다. 모듈화 된 기능에 대한 이해와 생각이 필요합니다. 지금까지는 자바와 DB를 연동하여 개인적으로 사용할 수 있는 데스크롭 프로그램을 해왔다면, 앞으로는 불특정 다수의 사용자가 브라우저의 주소만 알고 있다면 누구나 공용으로 이용할 수 있는 웹서버를 사용하여 웹 응요 프로그램을 학습하겠습니다. 기본적인 웹서버와 사용자의 상호작용은 다음 그림과 같습니다. 기본적인 웹 애플리케이션을 만들기 위해서 웹 서버를 구성하는 HTTP S..

📑 JDBC 실습_국비_DAY39

오늘은 자바로 만든 성적관리 폼과, DB로 만든 성적관리 데이터를 연동하여 사용해보는 실습을 해보겠습니다. 전체적인 구조는 다음과 같습니다. 지난 포스팅에서 selectList를 구현하는 방법에 대해 공부해보았습니다. 내용이 궁금하신 분은 여기를 학습하세요. 이번에는 나머지 insert, update, delete명령의 실행과정을 중심으로 공부해보도록 하겠습니다. 1. 사전준비 새로운 프로젝트에 드라이버 라이브러리를 불러왔다는 가정 하에, 우선적으로 자바와 연동할 데이터베이스를 설계해야 합니다. 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 32 33 34 35 36 37 38 39 40 41 42 4..

📑 DB 모듈화

오늘은 데이터베이스를 모듈화해서 JDBC를 사용해 자바로 핸들링하는 실습을 진행해보겠습니다. 1. 프로그램 구조 모듈화하고자 하는 프로그램의 구조는 다음과 같습니다. 2. 프로그램 실행 과정 전체 프로그램의 대략적인 개요는 다음과 같은 순서로 실행됩니다. 다음의 순서는 조회를 하는 예시입니다. 1. 사용자가 DB에 있는 데이터에 대해서 CRUD 명령을 요청합니다.(누구에게? DAO에게) ㄴ> 호출하는 방법 -> DeptDao.getInstance() [Dao의 객체를 생성 or 호출합니다.] ㄴ> 싱글톤 패턴을 사용했기때문에 가장 처음 호출에만 객체을 생성하고, 그 이후에는 이전에 만들어 둔 객체를 반환합니다. 2. 요청을 받은 DAO는 DB에 연결을 하기 위해서 연결 요청을 합니다. (누구에게?DBSe..

📑 JDBC의 사용법

이클립스에서 데이터베이스를 사용하기 위해서는 언어의 사용하는 언어가 같아야 합니다. 쉽게 생각해서 두 명의 사람이 대화를 하는데 한 사람은 한국어만 사용할 수 있고, 한 사람은 일본어만 사용할 수 있다면, 두 사람 간의 공통적인 언어체계가 없기 때문에 소통이 이루어지지 않습니다. 따라서, 자바와 데이터베이스 사이에 "드라이버"를 두면 드라이버가 자바와 데이터베이스가 소통할 수 있도록 중간에서 명령어를 변환해주는 역할을 합니다. JDBC(Java Database Connectivity) : 자바를 통해서 데이터베이스에 접근하도록 도와주는 라이브러리입니다. 각 언어로 작성한 SQL명령을 JDBC드라이버를 통해서 DB에 전달해 주면, DB에서 실행한 결과를 드라이버를 통해 다시 각 언어로 전달해 줍니다. --..

📑 Join

이번 글은 앞 내용과 이어지기 때문에 이해가 어려우신 분들께서는 아래 링크의 내용을 먼저 보시기 바랍니다. https://cm-me0410.tistory.com/4 Join의 개념 Join연산자의 기본개념을 파악해보도록 하겠습니다. 1. 둘 이상의 테이블을 연결하여 데이터를 검색하는 방법입니다. 2. 연결하는 기준을 "조인 기준"이라고 하며, 각 테이블의 공통된 값을 통해 연결하는데, 보통 기본키(PK) 및 외래키(FK) 값을 사용하여 연결합니다. 3. 두 개의 테이블을 SELECT 문장 안에서 조인하여 조회하려면, 적어도 하나의 컬럼이 두 테이블 사이에서 공유되어야 합니다. [2번에서 말한 기본키 및 외래키가 그 역할을 합니다.] Join의 종류를 설명하기 위해서 sawon, gogek, dept 세 ..

📑 ERD(Entity_Relation_Diagram)

ERD(Entity_Relation_Diagram)를 통한 테이블 구조 파악 릴레이션의 Join연산은 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 과정으로 순수관계연산자의 종류 중 하나입니다. Join연산은 ▷◁의 기호로 표시하며, 두 릴레이션 R과 S의 조인을 표기하는 표기형식은 다음과 같습니다. 표기 형식 : R▷◁(JOIN 조건)S 조인연산의 개념을 명확하게 이해하기 위해서는 관계데이터베이스에서 각 개체들의 관계를 명확하게 이해할 필요가 있습니다. 사실상 DB를 직접 설계하고 구현하는 사람이 아니라면 실질적으로 ERD를 설계하는 일은 없겠지만, 일반 개발자 입장에서는 DB로부터 적절한 데이터를 검색하기 위해서 설계된 ERD를 보고 이해하며, 코드화할 수 있는 기능은..