본문 바로가기

DBMS13

[이론 정리] 옵티마이저 간단하게 보기, 정의 & 방식 / 인덱스 옵티마이저(optimizer)란? 실행 계획에 의한 정해진 우선순위 또는 통계 정보를 이용하여 select 문의 질의 성능이 최적화될 수 있도록 실행 계획을 수립하는 데이터베이스 시스템 요소 옵티마이저 방식 구분 RBO CBO 개념 사전에 정의된 규칙 기반 계획 최소 비용 계산, 실행 계획 수립 기준 실행 우선순위 액세스 비용 성능 사용자의 SQL 작성 숙련도 옵티마이저 예측 성능 특징 실행 계획의 예측이 용이함 저장된 통계 정보의 활용 고려 사항 저효율, 사용자의 규칙 이해도 예측 복잡, 비용 산출 공식 정확성 인덱스란? 데이터를 찾기 위한 '색인'으로 데이터의 주소록이라고 할 수 있음 데이터를 빠르고 효율적으로 조회하기 위해 사용하는 것으로, 데이터베이스 시스템에 의해 자동으로 생성되기도 하고 사용자.. 2022. 9. 18.
[이론 정리] 뷰, 가상테이블을 사용하는 이유와 특징, 종류 뷰(View)란? 테이블과 유사하지만 실제 데이터가 없는 테이블을 바라보는 매개체이자 '거울'과 같은 개념, 가상 테이블 뷰를 사용하는 이유 - 사용자의 편의와 데이터베이스의 보안 =>원본 테이블에 직접 접근하지 않아도 사용자가 임의의 뷰를 구성하여 별도의 이름을 붙이거나 접근 가능한 사람을 지정할 수 있음 뷰의 특징 * 테이블처럼 내용을 보여줄 수 있음 * 자주 쓰거나 복잡한 SQL 문의 결과를 미리 만들어 놓을 수 있음 * 여러 테이블을 조인하여 하나의 뷰로 생성할 수 있음 * 사용자별로 접근 구너한을 다르게 할 수 있음 * 각기 다른 데이터베이스 시스템에서 각각의 데이터를 전달해야 하는 경우에도 유용함 뷰의 종류 종류 설명 비고 심플 뷰(simple view) 하나의 테이블에서 데이터 생성 crea.. 2022. 9. 18.
[이론 정리] 트랜잭션의 특징, 상태 제어, 동시성 제어 트랜잭션이란? - 데이터베이스의 DML, 즉 삽입, 갱신, 삭제와 관련된 논리적인 작업을 의미함 - 트랜잭션은 DML 실행과 동시성 제어를 위한 중요한 개념임 - 데이터베이스의 데이터 무결성이 보장되는 상태에서 DML 작업을 완수하기 위한 기본 작업 단위임 - 일반적으로 DML 실행과 실행에 대한 커밋/롤백 단계까지를 트랜잭션이라고 부르지만, 실무에서는 데이터베이스에서 select 문으로 데이터를 조회하고 DML을 실행하여 종료하는 과정까지를 트랜잭션이라고 부름 트랜잭션의 특징 개 념 내 용 원자성(Atomicity) 트랜잭션의 처리가 완전히 끝나지 않았을 경우에는 전혀 이루어지지 않은 것과 같아야 함 일관성(Consistency) 트랜잭션의 실행이 성공적으로 완료되면 데이터베이스는 모순 없이 일관성이 .. 2022. 9. 17.
[개념 구분] delete, truncate, drop 구분해서 사용하기 명령어 구분 기능 delete DML 데이터만 삭제 truncate DDL 테이블 구조만 남기고 데이터, 인덱스, 테이블 공간 삭제(기억 공간 해제) drop DDL 테이블을 포함하여 전체 삭제 데이터, 인텍스, 테이블 공간, 테이블 삭제 2022. 9. 17.
[이론 정리] 데이터 무결성 데이터 무결성이란? 데이터는 사용자의 목적에 맞게 입력되고 저장되어야 하며 규칙을 위배하지 않아야 함 따라서 데이터베이스 시스템은 데이터에 접근하거나 데이터를 처리할 때마다 부적절한 데이터가 입력되는지 검사하여 데이터에 결점이 없도록 유지해야 함 이를 지키기 위한 기본 규칙을 데이터 무결성이라고 함 데이터 무결성의 종류 유형 내용 개체 무결성 (entity integrity) 기본키(PK)로 선택된 열은 고유해야 하며 null 값을 가질 수 없음 참조 무결성 (refrence integrity) 기본 키와 외래 키의 관계 외래 키가 있는 테이블의 경우에는 기본 키와 외래 키 간의 고나계가 항상 유지됨을 보장함 참조하는 외래 키가 존재하면 행은 삭제될 수 없고 기본 키도 변경될 수 있음 영역 무결성 (do.. 2022. 9. 17.
DBeaver와 DB 연결 (Mariadb) Step1: DB 연결하기 '데이터베이스 > 새 데이터베이스 연결'클릭 혹은 파일(F) 아래의 '플러그+' 표시된 아이콘 클릭 DB 연결을 할 수 있도록 드라이버를 다운로드 받는다. 현재는 Mariadb를 연결할 것이기 때문에 Mariadb를 클릭한다. 드라이버를 설정하고 완료 버튼을 넣는다. ** 드라이버 설정 ** server host : 현재는 local에 DB를 설치하여 그대로 둔다. port : 기본 port인 3306으로 설치를 했기 때문에 그대로 둔다. Database : 빈 칸으로 둬도 된다. Username : root인 경우는 그대로 두고, 별도의 user 계정을 만들었고 그것을 사용할 것이라면 username을 기입한다. Password : 각 유저에 설정된 패스워드 입력 Step2 .. 2021. 7. 4.
[mariaDB 설치] 마리아DB 서버 설치 설치는 정확하고 재빠르게 하자!! Step1 : 마리아DB 설치 파일 다운로드하기 https://mariadb.org Download MariaDB Server - MariaDB.org REST API MariaDB Repositories Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server" mariadb.org 다운로드 클릭하여 들어간다. 버전, OS 등 자신의 컴퓨터 사양에 맞춰 선택한 후 설치 파일을 다운로드 받는다. 버전은 현재 안정적인 버전으로 선택하여 다운로드 OS : window 아키텍처 : x86_64 package type : MSI 패키지 Step2 : 설치 시작하기 Next 클릭 라이센스 동의 후 Ne.. 2021. 7. 4.
DB 관리툴 - DBeaver 설치 및 사용하기 Step1: DBeaver 설치 링크로 이동하여 설치 파일을 다운로드 받는다. Community Edition 21.1.1의 아래쪽에 OS에 맞는 설치 파일 다운로드 Step2: installer를 클릭하여 설치를 진행한다. Step3 : dbeaver 찾아서 실행하기 Step4 : 설치 확인하기 [참고] 마리아DB 서버 설치 : https://cleancode-ws.tistory.com/142 2021. 6. 30.
[mysql] 파이썬으로 이미지 데이터 mysql에 저장하고 읽어들여오기 1. 이미지 저장할 테이블 만들기 create table images( image_nm int auto_increment primary key, image_data blob) mysql 에서 이미지를 저장할 테이블을 간단하게 만든다. base64로 변환하여 이미지를 저장할 예정이다. base64는 이미지보다 용량이 125%로 커져서 저장된다는 단점이 있으나 안정적임. blob: 바이너리를 저장할 수 있는 공간 tinyblob 255byte blob 64KB mediumblob 16MB longblob 4G mysql 데이터 타입에 대해 잘 나와있는 블로그 https://ra2kstar.tistory.com/82 MySQL : 데이터 타입 MySQL MySQL 데이터 타입 MySQL 에서 사용하는 데이터 .. 2019. 7. 24.
[mssql] Excel, csv 파일 쉽게 넣기_발생 가능한 오류도 정리 데이터 분석하는 경우에는 파이썬으로 전처리를 하는 것도 좋지만 시간이 오래걸린다.그래서 데이터 베이스에 넣어서 데이터 전처리를 하는 것이 편한 것 같다.일반적인 변수 선택, 파생변수 생성해서 저장하는 것도 파이썬 pandas를 사용하는 것보다는 sql에서 직접하는 것이 효율적인것 같다. 그렇다면 우선 데이터를 넣고 분석하는 방법을 숙지하자!! 예시는 mssql 1. 선행과정 mssql에 데이터를 넣기 위해서는 1) 내 컴퓨터에 서버가 있거나 혹은 2) 다른 사람과 공유하는 서버에 데이터베이스와 테이블 생성, 데이터 업로드의 권한을 갖고 있어야 한다. 나의 경우에는 이미 내 컴퓨터에 서버를 만들어 놓아서 해당 서버에 데이터를 넣을 예정이다. 2. 파일 변경 mssql에서는 csv 파일을 넣는 것을 지원하지.. 2018. 6. 29.
데이터 컬럼/필드 삭제 mssql 기준 컬럼 데이터만 삭제하기 use DBNamegoalter table Table_name drop column column_name; 2018. 6. 15.
[sql] mssql 데이터 삽입 방법 모음 1. 플랫파일(txt, 텍스트 파일 삽입) mssql management tool 활용 - 데이터 베이스에 접속 > 데이터베이스 우클릭 > 새 데이터베이스 만들기 - 데이터베이스 이름 (이름 작성) > 확인하기 - 데이터베이스 생성 완료- 생성한 데이터 베이스 우클릭 > 태스크 > 플랫파일 가져오기 - 입력할 파일 루트 지정 및 이름 설정 - 데이터 미리보기 (깨진 글씨 등등 확인하기) - 데이터 타입 설정 - 오류 발생 가능성 -> 데이터 타입에 맞지 않는 데이터가 들어간 경우 => 타입 일치후 다시 실행 -> 한 번 실패한 경우 이미 테이블이 만들어져서 안 들어가는 경우 => 테이블 삭제 후 다시 실행 2. 플랫파일(txt, 텍스트 파일 삽입) 쿼리_bulk insert use table1create.. 2018. 5. 23.
[sql ] 기초 쿼리 모음_STATEMENT sql 기초 모음 0. 기초 용어 - FIELD : COLUMN - RECORD : ROW - as(alis) : 별명, 테이블 혹은 field에 임시이름을 지정 SELECT column_name AS alias_nameFROM table_name;SELECT column_name(s)FROM table_name AS alias_name;1. 데이터 조작어(DML:data Manipulation language) - select: 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어SELECT column1, column2, ...FROM table_name; -- FIELD에 해당하는 RECORD를 불러옴SELECT * FROM table_name; -- 모든 FIELD의 RECORD를 불.. 2018. 5. 23.
반응형