SQL

    [데이터베이스] 용어 정리 - 릴레이션, 어트리뷰트, 튜플, 도메인, 차수, 카디널리티, 스키마

    릴레이션관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위이다. 결국, 릴레이션은 DB 테이블이다. 흔히 개발을 할 때 DB 설계를 하게 되는데 ERD (Entity Relationship Diagram) 아래와 같이 구성한다. 그래서 이 네모칸 하나하나가 결국 릴레이션이다.특징한 릴레이션에는 똑같은 튜플 (Tuple)이 포함될 수 없으므로 릴레이션에 포함된 튜플들은 모두 상이하다.한 릴레이션에 포함된 튜플 사이에는 순서가 없다.튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.릴레이션 스키마를 구성하는 속성들 간의 순서는 중요하지 않다.속성의 유일한 식별을 위해 속성의 명칭은 유일해야 하지만, 속성을 구성하는 값은 동일한 값이 있을 수 있다.릴레이션을 구성하는 튜플을 유일하..

    [SQL] 자료형

    컬럼의 자료형1) 숫자형     TINYINT, INT, FLOAT2) 문자형     CHAR, VARCHAR, TEXT, ENUM3) 날짜형     DATE, DATETIME, TIMESTAMP 숫자형 자료형1) TINYINT- 가장 작은 숫자 자료형.- 부호가 있는 경우 -128 ~ 127.             - 부호가 없는 경우 0 ~ 255.             - 1byte 크기를 갖는다. 2) SMALLINT- 부호가 있는 경우 -32768 ~ 32767.- 부호가 없는 경우 0 ~ 65535.- 2bytes 크기를 갖는다.3) MEDIUMINT- 부호가 있는 경우 -8388608 ~ 8388607.- 부호가 없는 경우 0 ~ 16777215.- 3bytes 크기를 갖는다. 4) INT-..

    [SQL] 스칼라 함수

    스칼라 함수란 단일값에 적용이 되어서 단일값의 결과를 돌려주는 함수를 말한다. 스칼라 함수의 종류에는 구성함수, 커서함수, 날짜 및 시간 함수, 수치연산함수, 메타데이터 함수, 보안함수, 문자열 함수, 시스템 함수, 시스템 통계함수, 텍스트및 이미지 함수 등이 있다. 구성 함수 @@LANDGID , @@LANGUAGE 현재 설정된 언어의 코드 번호 및 언어를 확인할수 있다. ex) select @@LANGID 한국어의 경우에는 29가 출력이 된다. 다른 언어의 ID는 sp_helplanguage 저장 프로시저를 실행하면 확인할수 있다. @@SERVERNAME 현재 인스턴스의 이름을 확인할수 있다. ex) select @@SERVERNAME @@SERVICENAME 서비스의 이름을 돌려준다. ex) sel..

    [SQL] 데이터베이스, 테이블 생성하기

    데이터베이스 만들기 CREATE DATABASE ; 데이터베이스란 여러 테이블을 저장해두는 저장소를 의미함 MySQL에서는 데이터베이스를 스키마라고 생각해도 상관 없음 (DBMS에따라 데이터베이스와 스키마를 동일한 개념이라고 보지 않는 경우도 있음) 컴퓨터에서 여러개의 파일을 묶고 있는 '폴더'와 비슷한 개념, 컴퓨터에서도 폴더를 먼저 만들고 파일을 생성하는 것처럼 보통 데이터베이스를 먼저 만들고 테이블을 생성함 예시 '성적'이라는 데이터베이스 생성 CREATE DATABASE 성적; 테이블 만들기 CREATE TABLE ( , , , ...); CREATE TABLE문을 사용하여 테이블 생성 CREATE TABLE문으로 테이블을 만든 후 칼럼을 추가하고 싶은 경우에는, alter table add (칼..

    [SQL] 테이블 생성, 입력, 조회 및 정렬

    1. 테이블 생성(CREATE TABLE) 및 데이터 입력(INSERT) CREATE TABLE emp_table ( emp_id NUMBER NOT NULL, emp_name VARCHAR2(100) NOT NULL, gender VARCHAR2(10) NULL, age NUMBER NULL, hire_date DATE NULL, etc VARCHAR2(300) NULL, PRIMARY KEY (emp_id) ); INSERT INTO 테이블 명 VALUES (값1, 값2, ...); INSERT INTO emp_table (emp_id, emp_name, gender, age, hire_date) VALUES (1, '홍길동', '남성', 33, '2018-01-01'); INSERT INTO emp..

    [SQL] 키(슈퍼키,대체키,후보키,기본키,외래키)

    * 키(Key)무언가를 식별하는 고유한 식별자(identifier) 기능을 한다. 즉, 데이터베이스에서 조건에 만족하는 관계의 행을 찾거나 순서대로 정렬할 때 다른 행과 구별할 수 있는 유리한 기준이 되는 속성의 집합이다.- 키의 종류로는 기본키, 슈퍼키, 후보키, 대체키, 외래키 등이 있다.1. 슈퍼키(Super Key)<p data-ke..

    [SQL] DDL, DML, DCL 이란?

    DDL(Data Definition Language) - 데이터 정의어데이터베이스를 정의하는 언어이며, 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 하는 언어 이다.DML(Data Manipulation Language ) - 데이터 조작어데이터베이스에 등록..

    [SQL] 중첩 트리거 (Nested Trigger)

    USE triggerDB;CREATE TABLE orderTBL -- 구매 테이블 ( orderNo INT AUTO_INCREMENT PRIMARY KEY, -- 구매 일련번호 userID VARCHAR(5), -- 구매한 회원 아이디 prodName VARCHAR(5), -- 구매한 물건 orderamount INT -- 구매한 개수 );CREATE TABLE prodTBL -- 물품 테이블 ( prodName VARCHAR(5), -- 물건 이름 account INT -- 남은 물건 수량 );CREA..

    [SQL] 트리거

    drop trigger if exists back_usertbl_update_trg; delimiter //create trigger back_usertbl_update_trgafter update on usertbl for each rowbegin insert into backup_userTBL values(old.userid,old.username, old.birthyear,old.addr,old.mobile,old.height,old.joindate, '수정',curdate(),current_use..

    [SQL] 비번 재설정 하는 방법

    서비스에서 mysql 서비스 중지 mysqld --datadir="C:\ProgramData\MySQL\MySQL Server 8.0\Data" --console --skip-grant-tables --shared-memory 창 그대로 유지 후 cmd 하나 더 띄워서 총 cmd 창 2개 mysql -u root use mysql update user set authentication_string=null where user='root'; flush privileges; alter user ..