DB 27

DML

SQL 문의 3가지 종류 DDL (Data Definition Language) - 구조 정의목표: 데이터베이스의 테이블이나 구조를 정의/생성/변경/삭제합니다.주요 명령어CREATE: 테이블, 뷰, 인데스 생성ALTER: 구조 변경 (컬럼 추가/삭제/변경)DROP: 구조 자체를 삭제 (테이블 전체 삭제) DCL (Data Control Language) - 접근 제어목표: 데이터베이스에 대한 접근 권한을 부여하거나 회수합니다.주요 명령어GRANT: 권한 부여 (예: SELECT 권한 부여)REVOKE: 권한 회수 DML (Data Mainpolation Language) - 데이터 조작목표: 테이블 안에 있는 실제 데이터를 검색, 삽입, 수정, 삭제합니다.주요 명령어SELECT: 데이터 검색INSERT:..

DB/sqld 2025.12.22

[sqld]엔티티 / 속성과 도메인

엔티티데이터베이스의 구성요소 중 독립적을 식별 가능한 객체(Object)엔티티의 하위 요소를 속성(Attribute)라고 함 ex) 회원 엔티티의 속성: 회원명, 회원코드, 주소.. 엔티티의 특징업무에서 필요로 하고 관리하고자 하는 정보식별이 가능하도록 유일한 식별자를 가져야 함영속적으로 존재하는 인스턴스가 두 개 이상인 집합을 이루어야 함하위요소로 반드시 속성을 가져야 함엔티티는 다른 엔티티와 한 개 이상의 관계를 가져야 함 *인스턴스: 엔티티로 정의된 구조에 맞춰 실제 디스크에 저장된 데이터 property: 객체의 특성attribute: 엔티티의 구성 요소 속성과 도메인속성엔티티의 하위요소로, 엔티티에 대한 자세하고 구체적인 정보를 나타낸 것의미상으로 분리되지 않는 최소의 데이터 단위속성의 개수에..

DB/sqld 2025.09.03

[sqld] 데이터 모델링

데이터 모델링 모델링구축하고자 하는 정보시스템에 맞게 현실세계의 데이터를 약속된 표기법으로 표현업무의 흐름을 가시화, 명세화하며 정보시스템을 구축하기 위한 분석, 설계 과정의 일환업무 프로세스의 데이터를 분석하여 추상화(Abstraction) 추상화: 1.단순화 2.축약 3. 특징: 추상화/단순화(약속된 표기법으로..)/명확화유의사항: 중복/비유연성/비일관성(정규화와 관련/ ex_a를 바꿨는데 b 가 바뀌지 않는다,,) 최소화 모델링의 3가지 단계개념적 데이터 모델링(가장 높은 추상화 레벨) 업무와 개념 중심으로 포괄적인 수준에서 모델링 수행전사적 차원의 데이터 모델링, EA(Enterprise Architectue) 수립에 많이 사용엔티티(Entity)와 속성(Attribute) 도출 논리적 데이터 모..

DB/sqld 2025.09.03

쿼리

IN 연산자SELECT * FROM employees WHERE department IN ('Sales', 'Marketing', 'HR');employees 테이블에서 department 의 값이 위의 셋 중하나 인 것을 출력 IN 연산자 & 서브쿼리SELECT title FROM songs WHERE artist IN ( SELECT name FROM artists WHERE genre = 'Pop');서브쿼리 ( ) 부터 시작 artists 테이블에서 genre 가 pop 인 아티스트의 이름을 선택외부쿼리 : songs 테이블에서 해당 아티스트의(해당 값을 가지고 있는) 노래 제목을 선택  LIKE 연산자 집계 쿼리 별칭 붙이기 : AS ~~ HAVING: 각 열의 개별 값이 아..

DB 2024.07.16

데이터 정규화

제 1정규화 : 한칸엔 하나의 데이터만!회원번호회원이름프로그램1김민수헬스2강만수테니스3최민식골프3최민식탁구제 1정규형 테이블 제 2정규화 : 현재 테이블의 주제와 관련없는 컬럼을 다른 테이블로 빼는 작업* 현재 테이블은 수강등록현황 테이블* 정확한 명칭은 partial dependency 를 제거한 테이블 ex) 가격은 프로그램에 종속되어 있음 이걸 제거하면 됨* Composite primary key : 합하면 primary key 기능을 할 수 있는 컬럼. 회원번호 회원이름 프로그램 가격납부여부1 김민수 헬스 500002 강만수 테니스 800013 최민식 헬스 500014 최민식 탁구 60000 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓..

DB/MariaDB 2024.03.22

INSERT ON DUPLICATE KEY UPDATE

INSERT ... ON DUPLICATE KEY UPDATE 는 INSERT 문의 MariaDB/Mysql 확장문으로, 중복된 고유 키 또는 기본 키를 찾으면 INSERT 대신 UPDATE를 실행한다. 둘 이상의 고유 인덱스가 일치하면 첫 번째 인덱스만 업데이트 된다. 따라서 둘 이상의 고유 인덱스가 있는 테이블에서는 이 문을 사용하지 않는 것이 좋다. 예시 CREATE TABLE food (id INT PRIMARY KEY, menu VARCHAR(30)); INSERT INTO food VALUES (1,'라면'), (2,'쫄면'), (3,'밀면'); 기존의 키가 없다면 명령문이 그냥 insert 로 실행된다. INSERT INTO food VALUES (4,'김밥') ON DUPLICATE KEY..

DB/MariaDB 2022.02.28

IF()

mysql 에서 사용하는 함수인 IF() 에 대해서 알아보자. 흔히 쓰는 if문과 다를게 없다. 문법 IF(condition, value_if_true, value_if_false); 예시 1 조건이 TRUE 이면 "YES" 를 반환하고 FALSE 면 "NO" 를 반환한다. SELECT IF(10 < 1000, "YSE", "NO"); 예시 2 조건이 TRUE 이면 3 를 반환하고 FALSE 면 7 를 반환한다. SELECT IF(10 < 1000, 3, 7); 예시 3 두 문자열이 동일한지 테스트하고 싶으면 "YES" 를 반환, 아니면 "NO" 를 반환 SELECT IF(STRCMP("SOJU","BEER") = 0, "YES", "NO");

DB/Mysql 2022.02.22

데이터베이스 사용자 비밀번호 변경 & 권한 관리

데이터베이스 권한을 준 계정의 비밀번호를 이따금씩 변경 해야할 경우가 생길 수 있는데 만약 내가 안바꿨는데 깃으로 코드를 받았는데 멍때리다가 작업을 하려고 실행하면 오류가 나서 당황할 때가 있다. 그게 나다ㅋ... 그때 당황하지말고 변경을 해주자. (어차피 로그에 비밀번호 안맞다고 친절히 알려준다...) Heidi 사용중. 더도말고 저기 좌측 상단 커플 같아 보이는 애들 클릭한 뒤 원하는 계정을 클릭하고 박스안에 원하는 비밀번호를 입력 후 저장을 해준다. 휴, 끝. 또한 권한도 저기서 관리할 수 있으니 필요하다면 해주자!

DB/MariaDB 2022.02.11

기본 설정과 heidi 연결

https://mariadb.org/download/?rel=10.6.4&prod=mariadb&os=windows&cpu=x86_64&pkg=msi&mirror=yongbok Download MariaDB Server - MariaDB.org REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server" mariadb.org 다운로드 링크 설치 하면서 입력한 root 비밀번호 입력 // show databases; 를 입력하면 이래와 같은 화면이 나온다. MariaDB를 깔때 같이 깔린 Heide를 열어준 다음 신규 버튼을 누르고 설정한 root 비밀번호를 입력하면 된다. *만약 libmysql.dll이 없다고 ..

DB/MariaDB 2021.11.08

sql cmd5

TABLE 을 건들이면 자동 COMMIT이 된다. 주의필요. ★TRUNCATE TABLE EMP_RENAME; :: 테이블의 데이터를 삭제함 :: ALTER이라서 커밋되기 때문에 위험★ USER_ 접두어를 가진 데이터 사전 USER_ 접두어로 시작하는 이름의 데이터 사전에는 현재 오라클에 접속해 있는 사용자가 객체 정보가 보관되어 있다. ALL_ 접두어를 가진 데이터 사전 오라클 데이터베이스 접속해 있는 사용자가 소유한 객체 및 다른 사용자가 소유한 객체 중 사용이 허락되어 있는 개체 정보를 가짐. INDEX : 목차만들기 레코드가 작으면 INDEX 만들면 비효율적 : 레코드가 많아야 효율적이다 . WHERE 절에 쓰는것이 INDEX 2진트리까지 쓰면 용량이 많아져서 프로그램이 무거워지기때문. VIEW ..

DB/Mysql 2021.04.16

sql cmd4

트랜잭션 : 한번에 실해이 불간으하면 실행하기 전의 상태를 유지할 수있는 상태, 트랜잭션이 완전히 실행되지 못하면 원래상태로 복구시킨다. 트랜잭션은 무조건 두개의 상황만 있다. 한 번에 수행하여 작업을 완료하거나, 아예 모두 수행하지 않는상태. ex) 은행 어플을 접속한 순간부터 어플의 송금,출금,입금(TCL)을 할때 까지 실행, 유지 되고있고 송금,출금,입금 후(트랜잭션 종료)에는 새로운 트랜잭션이 실행된다. COMMIT : 트랜잭션을 영원히 반영하고 싶을 때. => 낙장불입 되돌릴 수 없다.

DB/Mysql 2021.04.15

DB 데이터 타입

** 테이블 = 관계 = relation / 행 =듀플 (tuple) or 레코트(record) p.30 데이터 타입(DataType) 정의 # 데이터 타입(자료형)이란 컴퓨터 시스템과 프로그래밍 언어에서 실수, 정수, 소수 자료형 등의 여러 종류의 데이터를 식별하는 타입으로서, 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 할 수 있는 명령어, 데이터의 형태, 의미, 크기와 해당 자료형의 값이 저장되는 방식이다. Oracle 데이터 타입 # 문자형 데이터 타입 # 데이터 유형정의 CHAR(n)고정 길이 데이터 타입(최대 2000byte)- 지정된 길이보다 짦은 데이터 입력될 시 나머지 공간 공백으로 채워진다. VARCHAR2(n)가변 길이 데이터 타입(최대 4000byte)- 지정된 길이보다 ..

DB/Oracle 2021.04.12

sql cmd

식별자 / KEY / 제약조건 -> 중요한 정보 구분가능한. 기본 키(primary key, PK)는 주 키 또는 프라이머리 키라고 하며, 관계형 데이터베이스에서 조(레코드)의 식별자로 이용하기에 가장 적합한 것을 관계 (테이블)마다 단 한 설계자에 의해 선택, 정의된 후보 키를 말한다. 유일 키는 0~1개 이상의 속성의 집합으로 볼 수 있다. // 일상생활에서는 ID ko.wikipedia.org/wiki/%ED%9B%84%EB%B3%B4_%ED%82%A4 후보 키 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org sqlplus system/oracle CONN SCOTT/tiger SET PAGESIZE 28; SET LINESIZE 150;

DB/Mysql 2021.04.12