본문 바로가기
Android App/Kotlin

데이터베이스-관계형 데이터베이스, 쿼리

by AppJinny 2022. 11. 21.

*데이터베이스-관계형 데이터베이스

*데이터베이스 

-컴퓨터 안에 저장된 구조화된 정보, 데이터의 집합

-데이터베이스를 관리하는 용도로 데이터베이스 관리 시스템(Database Management System, DBMS)이 있음

-데이터와 관리시스템을 통틀어 데이터베이스라고도 함

 

*관계형 데이터베이스

-관계형 데이터베이스 : 데이터의 저장 형태와 관계를 정의한 데이터

-관계형 데이터베이스는 컬럼(Column,열)과 로우(Row, 행)가 있는 테이블(Table, 표)이 있음

-관계형 데이터 베이스에서 데이터 조작 시 쿼리 사용

--쿼리 종류 : DDL(테이블 생성관련), DML(데이터 읽고쓰기 관련), DCL(권한처리)

-안드로이드에서 사용하는 관계형 데이터베이스는 SQLite가 있음

 

*관계형 데이터베이스-테이블

-한 종류의 데이터가 저장되는 단위, 행과 열로 구성된 표

-테이블 구조 : 컬럼(필드), 로우(레코드, 튜플)

--컬럼(필드) : 테이블에 저장되는 데이터의 속성 구분

--로우(레코드, 튜플) : 각 컬럼에 값이 채워진 한 줄의 데이터 단위

 

*관계형 데이터베이스-쿼리(Query)

-SQL(Structured Query Language)이라는 데이터를 정의, 조작, 제어하는 용도의 언어

-SQL구문 또는 쿼리(Query)라고 함

-생성과 관련된 쿼리 제외 나머지 쿼리는 테이블에 읽고, 쓰고, 수정하고, 삭제하는 명령어

--테이블A에 있는 모든 데이터 조회 쿼리
--SELECT: 읽어와라
--*(애스터리스크): 전부
--FROM: ~로부터
--테이블A: 테이블명이 테이블A에서
SELECT * FROM 테이블A

--특정 컬럼을 지정해서 레코드 읽어오기
--*대신에 컬럼명을 쉼표(,)로 구분해 나열
SELECT no, name, date FROM 테이블A

--모든 레코드가 아닌 번호(no) 2번인 레코드 한 줄 가져오기
--WHERE 구문 사용
SELECT * FROM 테이블A WHERE no=2

--번호(no)가 3번인 레코드에서 name과 title컬럼만 읽어오기
SELECT name, title FROM 테이블A WHERE no=3

-쿼리의 종류 : DDL(테이블 생성관련), DML(데이터 읽고쓰기 관련), DCL(권한처리)

--DDL(Data Definition Language) : 데이터 구조를 정의하는 명령어, 테이블을 생성하고 컬럼의 속성 정의함

--데이터 베이스 하나의 빈 껍데기이며 DDL쿼리를 실행해 테이블을 하나씩 만들고 수정함

--DDL 종류 :  CREATE TABLE(테이블 생성), DROP TABLE(테이블 삭제), ALTER TABLE(테이블 수정)

데이터 구조 정의 명령어

 

--DML(Data Manipulation Language) : 데이터를 조작하는 명령어

--CRUD(Create, Read, Update, Delete) 네 가지 명령어로 거의 모든 처리를 함

--DML 종류 : SELECT(데이터 조회), INSERT(데이터 삽입), UPDATE(데이터 수정), DELETE(데이터 삭제)

데이터 조작 명령어

 

--DCL(Data Control Language) : 데이터베이스 권한 관련 명령어

--특정 유저에게 읽기와 쓰기 권한을 부여할 때 주로 사용함, 모바일에는 거의 사용하지 않음

--Oracle, MSSQL, MySQL과 같은 DBMS(데이터베이스 관리 시스템)에서 사용

 

 


이 포스팅에 작성한 내용은 고돈호, ⌜이것이 안드로이드다⌟, 한빛미디어(주), 2022 에서 발췌하였습니다.