DBMS 5

231115 수) 데이터 관계 탐구 (일대다 & Join) - (1)

일 대 다 ( One To Many ) 일 대 다란 하나의 엔티티가 다른 엔티티 그룹과 여러 관계를 가질 수 있다는 의미이다 일 대 다 관계는 외래 키(foreign key)를 사용하여 DB 테이블 간에 설정된다 외래 키는 '다' 테이블에서 '일' 테이블의 기본 키(primary key)를 참조한다. 이를 통해 데이터의 무결성을 유지하고 관련 데이터 간 연결을 관리한다 예를 들어, 고객과 주문은 일 대 다 관계이다 1) 고객 roofTopCaat은 여러 주문을 넣을 수 있다 2) 한 주문에는 두 고객이 연관될 수는 없다 실제 세계에서는 더 많은 정보가 있겠지만 약식으로 두 테이블의 관계를 살펴보자 이 관계를 통해 고객 ID와 주문 ID로 묶이며 기본 키를 통해 고유한 번호의 고객이 어떤 번호의 주문을 했..

DBMS/MySQL 2023.11.15

230922 금) 데이터베이스 개체

테이블은 DB에서 제일 많이 쓰이는 핵심 개체다. 그러나 DB는 테이블 외에 인덱스 / 뷰 / 스토어드 프로시저 / 트리거 / 함수 / 커서 등의 개체도 필요하다. 뷰는 테이블의 일부를 제한적으로 표현할 때 사용한다 스토어드 프로시저는 SQL문으로 프로그래밍이 가능하게 해준다 (ex. 오라클에서 구구단 실행) 트리거는 데이터 오입력을 사전에 방지한다 인덱스는 필요한 정보를 좀더 빠르게 찾기 위해 테이블을 덜어내 순차적으로 정리한 것을 말한다 백과사전 앞쪽의 찾아보기와 비슷하다 인덱스 select * from member where member_name = '도깨비'; 의 경우 Full Table Scan으로 처음부터 끝까지 찾는다. 이러면 시간도 오래 걸리고 리소스도 많이 잡아먹는다 create inde..

DBMS/MySQL 2023.09.22

230919 화) '데이터베이스 구성도' 완성하기

DB 구축 절차 DB 만들기 -> Table 만들기 -> Data 입력/수정/삭제 -> 데이터 조회, 활용 Schema와 Database는 동일어로 취급한다. DB 만들기 Create Schema -> (제목)_db로 데이터베이스 생성 Table 만들기 데이터 형식을 문자로 지정하면 CHAR이라는 MySQL 문법상 이미 약속된 예약어를 사용해야 한다 데이터 형식을 정수로 지정하면 INT라는 MySQL 문법상 이미 약속된 예약어를 사용해야 한다 Null은 빈 값을 이야기하며 Not Null(Null 허용 안함)은 반드시 입력해야 한다는 의미이다 열 이름을 영문으로 만들 때 띄어쓰기는 자제하고 언더바(_)로 묶는다 Tables -> Create Table -> Table Name과 Column name(열이..

DBMS/MySQL 2023.09.19

230918 2) 데이터베이스 모델링

데이터베이스 모델링이란 데이터베이스 모델링은 테이블(스키마, 자료구조)을 미리 설계하는 개념으로 건축 설계도와 비슷하다 프로젝트 진행을 위해선 대표적으로 폭포수 모델을 사용하며, 폭포수 모델의 업무 분석/시스템 설계 단계를 거쳐 테이블 구조가 결정된다 과거엔 한두 명의 프로그래머가 컴퓨터 프로그램을 작성했다면 요즘은 다수의 팀이 거대한 빌딩을 짓는 느낌으로 프로그래밍을 한다 따라서 공사 전에 설계도를 완벽하게 짜는 일이 필수적이다 폭포가 떨어지듯 1. 프로젝트 계획 2. 업무 분석 3. 시스템 설계(컴퓨터에 맞는 형태로) 4. 프로그램 구현(프로그래밍) 5. 테스트 6. 유지보수 의 순으로 이루어짐 데이터베이스 모델링 예시 쇼핑몰 DB 직원, 물건, 고객의 특징들을 따서 DB화(사람이면 성별/나이) (물..

DBMS/MySQL 2023.09.18

230918 1) DB 알아보기

DBMS란? DataBase는 쉽게 말해 데이터의 집합으로 이를 관리하기 위한 소프트웨어를 DBMS라 한다 다양한 데이터가 저장된 DataBase는 여러 명의 사용자나 응용 프로그램과 공유하고 동시접근이 가능해야 한다 예를 들어 은행의 계좌는 DBMS덕에 예금주, 은행직원, 인터넷뱅킹, ATM기기 등에서 동시 모두접근이 가능하다 대표적 DBMS로는 MySQL, Oracle, SQL서버, MariaDB 등이 있다. 소프트웨어별 사용방법과 특징이 다르지만 특정 목적을 위해서는 어떤 것을 사용해도 무방하다 DBMS의 발전과정 종이에 펜으로 기록 -> 컴퓨터에 파일로 저장(엑셀 등으로) -> 편리하지만 지정된 파일은 하나당 한 사람만 사용가능 -> 규모가 큰 곳에서는 데이터의 양이 많아 한 사용자가 모두 처리할..

DBMS/MySQL 2023.09.18