3. 데이터베이스/2). Mysql_개념 8

Mysql_개념_Day_09

use jointestdb; /* 저장 프로시저(stored procedure) : mysql에서 제공되는 프로그램 기능 쿼리문의 집합으로 어떠한 동작을 일괄 처리하기 위한 용도로 사용 데이터베이스 개체 중 하나다. 테이블 처럼 각 데이터베이스 내부에 저장된다. delimiter 구분자 -- 구분자는 어떤 것이든 상관 없음. $$, //, $,... create procedure 스토어드프로시저명1() -- 프로시저 만들기 begin -- 스토어드 프로시저를 시작하는 부분 sql문을 사용한 프로그래밍 end 구분자 -- 스토어드 프로시저가 끝나는 부분 delimiter ; -- 다음 sql문들을 위해서 반드시 세미콜론(;)으로 마무리 해야 함 delimiter 구분자 -- 구분자는 어떤 것이든 상관 없음..

Mysql_개념_Day_08

부속질의 순서 -- 교재 내용 USE madang; select * from book; select * from customer; select * from Orders; select * from Imported_Book; /* 하위 쿼리(subquery, 부속질의) : 하나의 sql 문 안에 다른 sql 문이 중첩된 질의문 데이터가 대량일 경우 데이터를 모두 합쳐서 연산하는 조인보다는 필요한 데이터만 찾아서 공급해 주는 부속질의의 성능이 더 좋음 1) 스칼라 부속질의(scalar subquery) : select 절에 사용 단일 값을 반환 2) 인라인 뷰(inline view, table subquery) : from 절에 사용 결과를 뷰 형태로 반환 3) 중첩 질의(nested subquery) : w..

Mysql_개념_Day_07

-- DDL 데이터 정의어, (create,drop,alter) -- trumble(삭제,구조는 남김) -- DML 데이터 조작어, select(검색), insert(삽입), delete(삭제), update(수정) -- 튜플(행,레코드,row) >>> -- delete와 trumble - 은 로그 기록안한다.(그래서 delete와 속도차이가 있다.) -- DCL 데이터 제어어, grant, revoke, -- TCL에다가 도 넣는다. commit(완료), roollback -- 복습 -- 일반키(중복x 널값x) -- 유니크(중복x, 널값허용) -- 외래키(내테이블에 있는 이코드가, 이 태이블의 코드를 참조하겠다. 참고관계 연결) -- cascade -- commit을 넣어준다.(모든 것이 끝날때,) u..

Mysql_개념_Day_06

2테이블의 연관 있음을 알 수 있는 것 : -- 데이터 정의어 DDL -- create alter drop -- 데이터 조작어 DML -- insert delete update select -- 데이터 제어어 DCL -- revoke(권한뻇기), grant(권한주기) -- Tcl rollback(롤백), commit(완료) -- 1.porderTBL 테이블과 productTBL테이블을 이용해서 판매금을 구하기 -- orderid, pcode, amount(수량), price(가격), 판매금액(수량 * 가격), pname( -- region(원산지) -- 연관있음을 알 수 있는 것 : pcode, 참조 관계 설정되어 있음 select porderTBL.orderid, porderTBL.pcode, pord..

Mysql_개념_Day_05

# 기본키 중복 x null x 유니크 키 : 중복x null ok fk 중복o null ok ㅡㅡㅡ like문 use jointestdb; create table mm( id int primary key not null, name char(5) not null ); select * from mm; insert into mm(id, name) values(1, "홍길동"); insert into mm(name) values('김자바'); -- insert into mm(name) values(null,'김자바'); 이거랑 똑같다 /* -- 자동으로 번호 증가 MySql : 테이블 생성시 컬럼명 뒤에 적음, 컬럼명의 타입 반드시 정수형이어야 함 id int primary key auto_increment ..

Mysql_개념_Day_03

책 내용 참고 p403 행/row/투플/레코드 = 카디널리티 1.삽입이상: 2.수정이상 : (갱신이상) 3.삭제이상: 이상이 발생할떄, 해결이 ‘정규화’ 라고한다 . A : 결정자(PK,프라이머리키) B : 종속자 학생번호+강좌이름 = 강의실 (결정자) (종속자) A값을 알면 다른 속성 B의 값이 유일하게 정해지는 의존관계 ㅡㅡ 이행규칙 하나의 테이블에서 하나의역할만, 무손실분해 하나의 테이블 하나의역할 메소드,클래스도 하나의 역할만 - 단일책임의원칙 입금만 출금만 검색만. 최대한 중복안되고, 주업무하기위해, 쪼갠다. p412 릴레이션(테이블) A -> B 학생번호 학생이름 결정자 종속자 정규화는 6가지로 나누어진다. 정규화과정. 너무 쪼개나서 속도가 나지않아서, 다시고치는 과정, ‘역정규화/반정규화’ ..

Mysql_개념_Day_02

참고도서 RDBMS(관계형 데이터베이스) 속성,column,feild, (속성의 수 /디그리/차수) 튜플 row record (튜플의수 = 카디널리티/기수) 전체적인 것 스키마 전체를 인스턴스 도메인이란? 속성이 가질수있는 값의 범위 : 도메인 ex)학년 1~3, 1,2,3만 가질수잇다. 이것이 외에 가질수없다. - 릴레이션의 특징 -단일 값을 가진다.(도메인은 단일값 같은말) 제1 정규화, (2개로된거 쪼개는것) -키 기본키PK (후보키중 하나를 선정하여 대표로 삼는 키) null 안됨, 중복 안됨 외래키FK 연쇄적으로 실행된다. p90 관계대수 : 수학(코드가 만들었다.) sql문 실행할때, 구조정의 양쪽에 2개 에 있는 것 하나만 추출하고 하나만 있는 것은 전부 추출하여 전부추출하는것이다. 그래서 ..

Mysql_개념_Day_01

전체실행 (범위설정한부분)전체실행 ctrl+shift+enter (한줄)부분실행 ctrl+enter # Mysql과 오라클이랑 다르다. # 오라클은 : 통으로 DB하나 mysql은 : 데이터베이스가 따로따로 mysql그림 1.DB생성(오라클과 큰차이) 2.DB안으로 들어가기 3.구조만들기(table) 4.Inset삽입 1.--주석( 한칸띄어야 주석처리된다. ) 2./* 여러줄 주석 */ 3. 1. shopDB, 대소문자 구분 하지 않는다. 4.create를 쓰면 구조를 만든다.구조자체생성 create # create사용법 create 객체종류 객체이름 ex) create database db명; ex) create database shopDB; ㅡㅡ shopDB라는 데이터베이스 객체(db,테이블,인덱스,..