본문 바로가기

Database/MariaDB13

MariaDB : 데이터 무결성을 위한 제약 조건 데이터 무결성은 데이터의 정확성, 일관성 및 신뢰성을 보장하는 원칙이다. 데이터의 무결성이 떨어지게 되면 데이터 오류, 중복 데이터, 잘못된 참조 등이 발생할 수 있다. 즉 데이터 무결성을 위한 제약 조건은 데이터베이스의 정확성, 일관성을 보장하기 위해 저장, 삭제 수정 등을 제한하는 조건이다. 데이터 무결성 제약 유형에는 개체무결성, 참조무결성, 범위무결성으로 나뉜다.개체무결성 개체 무결성은 모든 테이블이 기본키(primary key)를 가져야하며, 기본키로 선택된 열은 고유하고 NULL 값을 허용하지 않아야 한다. 이는 각 데이터가 유일하게 식별될 수 있도록 보장하여 데이터를 정확성을 유지한다. 참조무결성참조 무결성은 모든 외래 키 값은 데이터베이스의 특정 테이블의 기본 키 값을 참조해야 한다. 데이.. 2024. 10. 17.
MariaDB : JSON 데이터 사용하기 JSON데이터는 데이터를 교환하기 위해 만든 포맷으로, 속성(key)과 값(value)으로 구성되어 있다. JSON 데이터는 중괄호{}로 객체를 정의하고, 대괄호[]로 배열을 정의한다.  JSON 데이터 삽입하기데이터 유형이 JSON인 칼럼을 생성한 후에, INSERT를 통해서 JSON 파일을 삽입할 수 있다.#FAVORITE_COLOR, FAVORITE_NUM 이라는 JSON정보가 있는 FAVORITE이라는 칼럼을 생성한다.ALTER TABLE userinfo ADD favorite JSON;# userinfo의 favorite에 JSON파일로 데이터를 삽입한다. INSERT INTO userinfo(ename, gender, age, uloc, favorite) VALUES ('JI', 'WOMAN'.. 2024. 10. 17.
MariaDB : DCL (Data Control Language)과 TCL(Transaction Control Language)에 데해서 DCLDCL은 Data Control Language 약어로 데이터베이스에서 데이터의 접근과 사용을 제어하는 SQL 명령어이다. 데이터를 보호하기 위한 데이터 보안의 역할을 수행한다. GRANT : 특정 사용자에게 특정 데이터베이스나 테이블에 대한 권한을 부여한다.REVOKE : 특정 사용자에게 부여된 권한을 취소한다. # 해당 테이블에 대한 SELECT, INSERT 권한 부여GRANT SELECT, INSERT ON 테이블명 TO '사용자';# 해당 테이블에 대한 권한을 취소REVOKE INSERT ON 테이블명 FROM '사용자';  TCLTCL는 Transaction Control Language로 데이터베이스에서 트랜잭션의 제어를 위해 사용되는 명령어 집합이다. 트랜잭션은 일련의 데이터베이스의 .. 2024. 10. 17.
MariaDB : DML(Data Manipulation Language)에 대해서 DML은 Data Manipulation Language의 약어로, 데이터베이스에서 데이터를 조작하고 관리하는 데 사용되는 명령어이다. 데이터를 삽입, 수정, 삭제 및 조회할 수 있다. SELECT : 데이터베이스에 들어 있는 데이터를 조회하거나 검색한다.INSERT : 새로운 데이터를 추가한다.UPDATE : 기존 데이터를 수정한다.DELETE : 데이터베이스에서 데이터를 삭제한다.  INSERT INSERT 시에 칼럼명의 경우에는 테이블의 칼럼명 및 칼럼 갯수와 일치해야 하며, 삽입할 데이터의 수와 종류도 일치해야 한다. NULL 값의 경우 NULL 값이 허용되어 있어야만 삽입할 수 있다. 만약 NOT NULL 제약 조건이 있을 경우에는, 데이터 값을 반드시 제공해야 한다. 칼럼에 기본값이 설정되어 .. 2024. 10. 16.
MariaDB : DDL(Data Definition Language)에 대해서 DDL은 Data Definition Language의 약자로, 데이터베이스의 구조를 관리하는데 사용되는 SQL 명령어의 집합니다. DDL을 사용하여 테이블, 뷰(SELECT문의 결과를 담고 있는 가상의 테이블), 인덱스 등의 데이터베이스 객체를 생성, 수정, 삭제할 수 있다. CREATE : 새로운 데이터베이스 객체를 생성한다.ALTER : 기존 객체의 구조를 변경한다. (ADD, MODIFY, DROP)TRUNCATE : 테이블의 구조는 유지한 채 모든 데이터를 삭제한다.RENAME : 데이터베이스 객체의 이름을 변경한다. CREATECREATE 데이터베이스객체 객체명(   첫번째열 데이터타입,    n번째열 데이터타입) ; CREATE DATABASE USERS; # 어떤 스키마를 사용할 건지 작성.. 2024. 10. 16.
MariaDB : 서브쿼리에 대해서 서브쿼리는 하나의 쿼리 내에서 다른 쿼리를 포함하는 방식으로 서브쿼리는 일반적으로 괄호()로 묶어 사용한다. SELECT, FROM, WHERE 및 HAVING 절과 같은 다양한 부분에서 사용될 수 있다.  단일 행 서브쿼리단일 행 서브쿼리는 오직 하나의 행과 하나의 열을 반환하는 서브쿼리이다. 주 쿼리의 조건문(WHERE)에서 단일 행 서브쿼리와 비교 연산자(=, >, >=, )를 통해 비교를 할 수 있다.# 'SCOTT'의 급여보다 더 많은 급여를 받는 사원명SELECT ename FROM emp WHERE sal > (SELECT sal FROM emp WHERE ename='SCOTT'); #KING 다중 행 서브쿼리서브쿼리에서 반환되는 결과가 하나 이상의 행을 반환하는 서브쿼리이다. 다중 행 연.. 2024. 10. 15.