본문 바로가기

DATABASE20

DB 모델링 연습(2) https://www.inflearn.com/course/%EC%83%9D%EA%B0%81%ED%95%98%EB%8A%94-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EB%AA%A8%EB%8D%B8%EB%A7%81/dashboard [7일완성]생각하는 데이터베이스모델링 강의 - 인프런 [TPC DB!] 생각하면서 배우는 데이터베이스모델링,단계별로 배우는 데이터베이스모델링, 데이터베이스모델링에서부터 웹프로그래밍 구현까지 한번에 마스터 할 수 있는 강의입니다., [사진]이 강 www.inflearn.com 1. 요구사항 분석 ( 학사관리 시스템 ) 간단한 학사관리 시스템을 구축하려고 합니다. 고객과의 상담을 통해서 관리할 필요가 있는 다음 정보들을 파.. 2024. 3. 9.
DB 모델링 연습(1) 데이터베이스 요구 사항 분석 : 요구사항 이해 개념적 데이터 모델링 (ERD) : 높은 수준의 데이터 구조를 시각화 하기 위해 엔티티-관계 다이어그램 ERD 작성 논리적 데이터 모델링 (RM - 관계모델) : 데이터 관계 및 제약 조건을 나타내는 관계형 모델 개발 물리적 데이터 모델링 (PM - 피지컬 모델) : 특정 데이터베이스 관리 시스템에 대한 실제 데이터베이스 스키마 설계 논리적모델링 물리적모델링 MysqlWorkbench ER Diagram 을 이용해 테이블 만들기 제약조건 추가 alter table t_customer add constraint fk_region_code foreign key (region_code) references t_region(region_code); alter tab.. 2024. 3. 9.
키(Key) 의 종류에 대해 알아보자 키는 릴레이션(테이블)에서 투플(행)을 구별하는 역할을 하는 속성 또는 속성의 집합을 의미합니다. 키에는 다양한 종류가 있습니다. 데이터베이스 개론이라는 책에서는 관계형 데이터베이스의 키를 5가지로 나누었지만, 추가적으로 같은 의미로 불리는 자연키와 대리키가 있습니다. 후보키 = 자연키 / 기본키 = 대리키 종류 의미 예시 슈퍼키 유일성을 만족하는 속성 고객아이디 + 고객이름 후보키 유일성과 최소성을 만족하는 속성 고객아이디 기본키 후보키 중에서 기본적으로 사용하기 위해 선택한 키 Auto_Increment 대체키 기본키로 선택되지 못한 후보키 고객이름, 주소 외래키 다른 릴레이션의 기본키를 참조하는 속성 고객테이블(고객아이디) -> 주문테이블(주문고객) 가장 중요시 되는 키는 기본키(=대리키) 라고 생.. 2023. 2. 19.
릴레이션(테이블)의 특징 4가지 관계형 데이터베이스 테이블에는 4가지의 중요한 특성이 있습니다. 기본적으로 해당 특성들을 만족해야 테이블이 릴레이션으로 인정받을 수 있습니다. 투플 : 행 릴레이션 : 테이블 1. 투플의 유일성 하나의 테이블에는 동일한 투플이 존재할 수 없습니다. 똑같은 투플인지는 테이블을 보고 확인할 수 있지만, 많은 속성이 있다면 비효율적인 방법입니다. 보통은 키 값을 설정해서 동일한 데이터가 DB 에 있을 경우, 중복되었다는 메세지를 내려주는 방법을 사용합니다. 예를 들어, 회원가입을 할 때 회원 아이디가 중복되었다는 것을 예시로 들 수 있습니다. 2. 투플의 무순서 하나의 테이블에서 투플 사이의 순서는 무의미 합니다. 서로 다른 투플은 순서가 상관없습니다. 데이터베이스는 위치가 아닌 내용으로 검색되기 때문입니다... 2023. 2. 15.
Centos mysql 비밀번호 재설정 방법 명령어를 올바르게 작성했는데 접근에러나 다른 에러가 발생하면 맨 앞에 sudo 를 붙이면 진행된다. 또는 chmod 로 권한부여 1) MySQL 중지 systemctl stop mysqld 2) MySQL 환경 옵션 (안전모드 로그인) systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" 3) 시작 systemctl start mysqld 4) 루트 로그인 mysql -u root 5) 비밀번호 변경 mysql> UPDATE mysql.user SET authentication_string = PASSWORD('새로운 비밀번호') WHERE User='root' AND Host='localhost'; mysql> FLUSH PRIVILEGES; mys.. 2023. 1. 13.
ec2 linux mysql8 설치하기 윈도우 putty 에 접속해 진행한다. 1. wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 2. sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm ll 커맨드를 입력하면 아래와 같이 나타난다. 그다음에 뭔짓을 해도 아래와 같이 Loaded plugins .. 등등 에러가 발생했다. 여기서 한 2시간넘게 날린거같다. 해결책은 mysql doc 에서 찾아 진행했다. 3. sudo yum module disable mysql 4. sudo yum install mysql-community-server 위 과정으로 mysql 8 버전은 설치되었으며, 비밀번호 설정 및 확인 ,.. 2023. 1. 12.
mysql 다중 기본키(Multi PK) 설정 Primary Key 를 1개가 아닌 다중 PK 를 사용해야할 경우가 있다. 여러가지 예제가 있을 수 있다. 아래의 자동차 예제가 아닌, 학생과 수강과목에 대한 예시로도 들수 있다.한 학생이 A 과목을 듣는데 동시에 A 과목을 들을 수는 없다. 하지만 조건( "F 학점을 받아 재수강을 해야해서, 수강 날짜가 다르면 insert 가 가능하다" ) 에 따라서 A 과목을 추가로 수강해야할 수 있다. 가령 아래와 같은 상황이라고 해보고 예제로 알아보자. - 자동차구매고객 테이블에는 같은 고객이 같은 자동차를 같은 시간에 구매하는 데이터가 들어올 수 없다. 제약조건 중 중복되지 않아야 하는 값은 고객, 자동차, 시간 이다. 이럴 때는 컬럼 마다 PK 를 주어 제약조건을 만족 시킬 수 있다. PK 가 설정되지 않았.. 2023. 1. 6.
mysql - case when then end (조건문) select *, ( case when CustomerSex = 0 then 'man' when CustomerSex = 1 then 'woman' else '미지정' end ) as '성별' from customer; ' 성별 ' 이라는 컬럼이 맨 마지막에 추가된다. 2023. 1. 2.
데이터베이스(DB) 병행 제어 데이터베이스 관리 시스템에서는 여러 사용자가 동시에 데이터를 공유할 수 있도록 여러개의 트랜잭션이 동시에 수행되는 병행 수행을 지원한다. 하지만, 트랜잭션이 수행 중에 다른 트랜잭션이 같은 데이터에 접근해 값을 변경하면 예상치 못한 결과가 나올 수 있다. 따라서 병행수행을 하더라도 각 트랜잭션이 다른 트랜잭션에 방해를 받지 않도록 해야한다. 위와 같이 문제점을 해결하기 위한 것으로 병행 제어 , 동시성 제어 기법을 사용한다 제어가 없으면 여러 문제가 생길 수 있다. 하나의 트랜잭션이 끝나고 다른 트랜잭션이 개입해야한다. 갱신 분실 : 하나의 트랜잭션이 수행한 데이터 변경 연산의 결과를 다른 트랜잭션이 덮어써 변경 연산이 무효화 된다. 모순성 : 하나의 트랜잭션이 여러 개의 변경 연산을 실행할 때, 일관성.. 2022. 11. 1.