본문 바로가기

bootcamp/데이터베이스

(16)
1110 트랜잭션 트랜잭션이란? DB에서 수행하는 작업 단위 mysql에서는 기본적으로 sql ; 한 줄이 하나의 작업 단위로 설정되어 있음 SELECT @@AUTOCOMMIT; 로 확인 1이면 설정됨 0이면 해제됨 SET AUTOCOMMIT = FALSE; AUTOCOMMIT 끄기 SET AUTOCOMMIT = TRUE; AUTOCOMMIT 켜기 트랜잭션 특징 원자성 (Atomicity) -트랜잭션 내의 모든 내용이 적용되거나 하나라도 안되면 모든 내용이 적용 안 되어야한다 일관성 (Consistency) -작업 처리 결과가 항상 일관성이 있어야 한다. 트랜잭션이 진행되는 동안 DB가 변경되더라도 원래 DB에 트랜잭션 처리를 마무리 하고 변경 독립성 (Isolation) -어떤 트랜잭션이라도 다른 트랜잭션 연산 중간에 ..
1109 클러스터의 생성과 응용 레플리케이션 클러스터링 서버개수 마스터 1, 슬레이브 n 최소 3대 속도 빠름 느림 안전성 조금 안좋음 좋음 방식 비동기 동기 단점 master가 죽으면 복구하기 까다로움 primary가 죽어도 secondary 중에서 자동으로 primary가 선정
1108 yum 설치 오류, mysqlsh 클러스터 생성 오류 1. yum 설치 오류 yum install mysql-server 하려고 할 때 status code~~~ 등등으로 오류가 생김 이 때 [appstream] 밑에를 모두 지우고 아래 내용을 복붙해서 넣어준다. name=CentOS Linux $releasever - AppStream #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra baseurl=http://vault.centos.org/$contentdir/$releasever/AppStream/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/R..
1107 뷰와 인덱스 뷰 하나 이상의 테이블로부터 유도되어 만들어진 가상 테이블 -> 저장하는 용도가 아닌 보기 쉽게 보여주는 역할 ( 복잡한 쿼리를 단순화) -> delte insert 쿼리문은 조건에 따라 되는 것도 있고안되는 것도 있음 -> 자신만의 인덱스를 가질 수 없다 뷰의 생성 create view [뷰이름] as select 속성 from 테이블 이름 where 조건 뷰의 삭제 drop view [뷰이름] 인덱스 전테 테이블이 아닌 원하는 데이터만 빨리 검색해줌 >> 검색 성능이 올라감 테이블과의 사본과도 같음
1107 db이중화, dcl 복습 MASTER 하나의 일을 수행하는데에 있어 동작의 주체가 되는 역할 모든 다른 슬레이브(종국)들을 제어하고 명령하는 주체 SLAVE 종속적인 역할을 하는 것 주로 마스터의 지시에 따라 행동 DB물리설계 서버를 한대만 쓸 것인지 여러대를 쓸 것인지 구상하고 오브젝트, 접근방법, 트랜잭션분석, 인덱스, 뷰, 데이터베이스 용량설계 등을 수행을 설계 Replication 여러 개의 DB를 권한에 따라 수직적인 구조로 두 개의 이상의 DBMS 시스템을 Mater / Slave로 나눠서 동일한 데이터를 저장하는 방식이다 Master Node는 쓰기 작업 만을 처리하며 Slave Node는 읽기 작업 만을 처리한다. 비동기 방식으로 노드들 간의 데이터를 동기화한다. 원본인 Master는 insert, update, ..
1103 -3) 조별 코테 https://school.programmers.co.kr/learn/courses/30/lessons/131124 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # select member_name, review_text, member_profile.member_id, review_date # from member_profile join rest_review # on member_profile.member_id = rest_review.member_id # select * from # (select member_id, count(*) as cnt fro..
1103 -2)SQL2 - select문 ORDER BY : 출력 결과를 오름차순(ASC) 정렬, 내림차순(DESC) 정렬 GROUP BY : 특정 속성별로 묶어서 결과를 조회할 때 함수 : AVG()평균, MAX()최대값, MIN()최소값, COUNT()카운트 등 HAVING : WHERE(조건설정)와 비슷한데 GROUP BY로 묶은 값에 대해서 조건으로 조회할 때 IN : IN으로 지정된 값들 중에 있는 것만 조회 대체로 join과 서브쿼리를 같이 사용 JOIN : 두 개의 테이블을 하나의 테이블로 합치는 기능 >INNER(교집합) 특정 속성을 기준으로 같은 애들을 합쳐줌 지정하기 나름 >LEFT, RIGHT 맨 처음 먼저 지정한 것을 기준으로 모두 다 적고, 있으면 추가 없으면 비우기 DATE_FORMAT(CREATED_DATE, '%Y'..
1103 -1) SQL1 - 정규화 정규화란 릴레이션의 속성, 개체 관계를 파악하여 데이터의 중복성을 최소화 하는 과정 그러나, 테이블이 여러개가 돼서 복잡해짐 관계를 맺어줘야됨 제 1정규형 - 도메인이 모두 원자값 제 2정규형 - 부분함수 종속 제거 제 3정규형 - 이행함수 종속 제거 bcnf - 결정자 중 후보키가 아닌 것들은 제거 제 4정규형 - 다치 종속제거 제 5정규형 - 조인 종송성 제거 LIKE ~~~~~~~포함된 값%=* sql에선 *이 입력되지 않음 %의 뜻: 모두 선택 %의 위치에 따라 조건이 다양해짐 SQL 관계 대수와 관계해석을 기초로 한 고급 데이터 언어 데이터 정의, 데이터 조작, 데이터 제어 기능을 제공하는 비절차적 언어 -DDL, DML, DCL이 있다. DDL 정의어 스키마, 도매인, 테이블, 뷰, 인덱스 등..
1102 -3) 클라이언트 클라이언트 프로그램 서버 프로그램에 연결해서 서버 프로그램이 제공하는 서비스를 이용하는 프로그램 서버 프로그램 서비스를 제공하는 프로그램 웹 서버 프로그램(nginx) 웹 서버가 실행중인 컴퓨터에 저장된 파일을 요청하면 다운받게 해주는 서비스 제공 웹 클라이언트 프로그램(웹 브라우저) 웹 서버가 제공해주는 파일을 다운받아서 화면에 보여주는 프로그램 DB 서버 프로그램(mysqld) 데이터를 안전하게 테이블 형태로 CRUD할 수 있는 서비스 제공 DB 클라이언트 프로그램(workbench) 데이터를 안전하게 테이블 형태로 CRUD 할 수 있는 프로그램 DB 클라이언트 프로그램 workbench, mysql 등을 사용해서 SQL로 데이터를 CRUD하는 프로그램
1102 -2) mysql 실습 정리 그냥 내가 시트의 주석들을 정리하고 싶어서 작성하는 글 개념 없음 # web이라는 데이터 베이스를 사용하겠다는 명령어 USE web; # student라는 이름의 테이블을 생성 CREATE TABLE student ( name VARCHAR(10),->문자 10글자 age INT,->숫자 gender VARCHAR(1)-> 문자 1글자 ); # student 테이블에 addr 속성 추가 ALTER TABLE student ADD addr VARCHAR(30); -> 테이블 추가 ->속성추가 # student 테이블에 addr 속성 제거 ALTER TABLE student DROP addr; ->제거 # student 테이블에 gender 속성을 addr로 변경 ALTER TABLE student RENA..