목록데이터베이스 (24)
브래의 슬기로운 코딩 생활
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ldni4/btsiNbjmZ1R/FyHQqCI1rXE45JF2S2UKRk/img.png)
사용자 정의 함수 - User-Defined Function 사용자 정의함수 (User-Defined Function) - 사용자 정의 함수는 수학의 함수와 마찬가지로 입력된 값을 가공하여 결과 값을 되돌려줌 - 절차형 SQL을 활용하여 일련의 SQL 처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL 입니다. - SELECT 문에 포함 - 예) SELECT customer_id, order_id, sale_price, fnc_interest(sale_price) 'interest' FROM orders; 사용자 정의함수 문법 CREATE FUNCTION function_name (parameter1 datatype, parameter2 datatype, …) RETURNS retu..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lRye6/btsiFQxWZ16/5FNyH15pzHYEldgbXEcKt1/img.png)
데이터베이스 관리 데이터베이스 관리의 중요성 안정적인 데이터베이스 운영을 위해 정기적인 관리가 필요하다. 데이터베이스 관리 업무 - 서비스 관리 - 점검 및 모니터링 - 장애 대처 - 백업과 복원 - 사용자 관리 및 권한 관리 - 시스템 데이터베이스 관리 - 사용자 데이터베이스 관리 - 데이터베이스 저장 공간 관리 - 인덱스 관리 데이터베이스 관리 기본 명령어 (root 계정으로) 시스템에 있는 데이터베이스 현황을 살펴보시오. #DB에 있는 데이터베이스가 어떤 것이 있는지 보여준다. 기본적으로 mysql, sys 등 관리용 데이터베이스를 확인할 수 있다. - SHOW DATABASES; #데이터베이스 mysql을 사용하는 명령을 내린다. - USE mysql; #데이터베이스 mysql에 있는 테이블들을 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qSzeE/btsg2ZQPp3O/1k8FrtszVkMrHqtR4nugFK/img.png)
이상현상 이상현상의 개념 삭제이상(Deletion Anomly) 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 = 연쇄삭제(Triggered Deletion) 문제 발생 삽입이상(Insertion Anomly) 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상 = NULL 값 문제 발생 수정이상(Update Anomly) 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 일어나는 현상 = 불일치(Inconsistency) 문제 발생 함수 종속성 함수 종속성 개념 어떤 속성 A의 값을 알면 다른 속성 B의 값이 유일하게 정해지는 의존 관계를 속성 B는 속성 A에 종속한다 (Dependent) 혹은 속성 A는 속성 B를 결정한다(Deter..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bMj8kh/btsfA2XI6Cd/kLzApTN9ukUVgVs8N84t1K/img.png)
트랜잭션 트랜잭션의 개념 트랜잭션(transaction): DBMS에서 데이터를 다루는 논리적인 작업의 단위 데이터베이스에서 트랜잭션을 정의하는 이유 데이터베이스에서 데이터를 다룰 때 장애가 일어날 때 데이터를 복구하는 작업의 단위가 됨 데이터베이스에서 여러 작업이 동시에 같은 데이터를 다룰 때가 이 작업을 서로 분리하는 단위가 됨 트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 함(all or nothing). 예)은행 업무를 보는데 A 계좌(박지성)에서 B 계좌(김연아)로 10,000원을 이체할 경우 트랜잭션 수행 과정 ① A 계좌(박지성)의 값을 하드디스크(데이터베이스)에서 주기억장치 버퍼로 읽어온다 ② B 계좌(김연아)의 값을 하드디스크(데이터베이스)에서 주기억장치 버퍼로 읽어온다. ③ A..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bipONr/btseseQIZAW/yTUgNShvy3Z8KdGiwvKWa0/img.png)
저저번주에 본 시험 점수는 86점이고 평균은 70점 정도이다. 저장 프로그램 프로시저 저장 프로그램 (Stored Program) - 저장 프로그램(Stored Program) : 데이터베이스 응용 프로그램을 작성하는데 사용하는 MySQL의 SQL 전용 언어 - SQL 문에 변수, 제어, 입출력 등의 프로그래밍 기능을 추가하여 SQL 만으로 처리하기 어려운 문제를 해결함 - 저장 프로그램은 Workbench에서 바로 작성하고 컴파일한 후 결과를 실행함 - 프로그램 로직을 프로시저 (Procedure)로 구현하여 사용한다. Procedure (프로시저) - 프로시저를 정의하려면 CREATE PROCEDURE 문을 사용함 정의 방법 - 프로시저는 선언부와 실행부(BEGIN-END)로 구성됨 - 선언부에서는 ..
오늘은 다음 주에 있을 중간고사 내용을 복습 했다. DBMS: 종속성 중복성 해결 외부 스키마: 사용자의 관점~ 개념 스키마: 정의 내부 스키마: 물리적으로 저장 create database dbname; use database; 간단한 쿼리 구문 BETWEEN A AND B = AB포함 LIKE '김_': 김뒤에 한글자만 있는 데이터를 표시 NAME = NULL / 틀림 NAME IS NULL / 맞음 복잡한 문장에서는 괄호로 연산 우선순위 지정 테이블 수정 = ALTER TABLE 테이블명 데이터 조작어 (DML): SELECT, UPDATE, INSERT, DELETE 등 데이터 정의어 (DDL): CREATE, DROP, ALTER 데이터 제어어 (DCL): GRANT, REVOKE 인덱스: 목차..
[데이터베이스-8주차 (4/24) 중간고사 공지] 중간고사 공지 -시험일시 : 8주차(4/24) 수업시간 중 (1교시 정상수업, 2교시 부터 100분간 시험) -시험장소 : 기존 강의실 -시험범위 : 1~5주차 까지 배운 내용 (부속질의 까지 포함) -시험형태 : > 나누어준 시험지에 펜으로 답안을 써서 제출 > 쿼리문 작성을 요구하는 서술형 문제 (70%) > 주요 DB개념을 묻는 객관식 문제 (30%) *필기도구 지참 필수! -PC, 노트북, 스마트 기기 이용 금지 (불가피한 사유로 사전 협의가 이루어진 경우 한정적 허용) -책, 메모 를 포함한 어떠한 외부 정보도 참고 금지 -시험 중간 쉬는시간 없음, 퇴실시 재입장 불가 *공지된 주의사항을 어기거나 정당한 시험평가를 방해하는자는 즉시 퇴실 및 최저..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/OHVd7/btr88qX1UfJ/0RefTB4TkyhXD8VQ9i0VFk/img.png)
부속 질의 - Subquery 스칼라 부속질의 인라인 뷰 부속질의 중첩질의 부속질의 사용자 정의 함수 - User-Defined Function 사용자 정의함수 (User-Defined Function) - 사용자 정의 함수는 수학의 함수와 마찬가지로 입력된 값을 가공하여 결과 값을 되돌려줌 - 절차형 SQL을 활용하여 일련의 SQL 처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL 입니다. - SELECT 문에 포함 - 예) SELECT customer_id, order_id, sale_price, fnc_interest(sale_price) 'interest' FROM orders; 사용자 정의함수 문법 CREATE FUNCTION function_name (parameter1..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bnO778/btr7OKP6w5o/KhDJaMh9CuZhFMnoR7taj0/img.png)
4주차 복습 - JOIN문 복습 INNER JOIN SELECT * FROM A INNER JOIN B ON A.key = B.key; LEFT OUTER JOIN SELECT * FROM A LEFT OUTER JOIN B ON A.key = B.key; LEFT OUTER JOIN (순수 A만 구할때) LEFT OUTER JOIN - A와 B의 교집합 SELECT * FROM A LEFT OUTER JOIN B ON A.key = B.key WHERE B.key IS NULL; RIGHT OUTER JOIN SELECT * FROM A RIGHT OUTER JOIN B ON A.key = B.key; RIGHT OUTER JOIN (순수 B만 구할때) RIGHT OUTER JOIN - A와 B의 교집..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/XCkN8/btr53H2N59N/qyTKcfFtqBkkeo7zTKSZM0/img.png)
정렬 쿼리 ORDER BY ORDER BY ORDER BY는 조회한 레코드 목록을 정렬할 때 사용한다. ASC 키워드로 오름차순 정렬, DESC 키워드로 내림차순 정렬이 된다. (생략하면 오름차순 정렬 됨) SELECT column1 FROM table_name ORDER BY column1 ASC | DESC; 정렬 기준을 여러 개의 속성으로 할 때는 ‘ , ’를 이용해 속성 이름을 나열한다. (column1 값이 같으면 column2를 기준으로 정렬) SELECT column1, column2, … FROM table_name ORDER BY column1 ASC | DESC, column2 ASC | DESC 집계 함수와 GROUP BY COUNT, SUM, AVG, MIN, MAX, HAVING ..