[프로그래밍] DataBase

[DataBase] SQL

JHVan 2024. 5. 15. 16:03

SQL (Structured Query Language) 

  • 구조적 쿼리 언어
  • 데이터베이스에 액세스하고 조작하기 위한 표준 언어
  • 1986년에 ANSI(American National Standards Institute)의 표준이 되었고, 1987년에는 ISO(International Organization for Standardization)의 표준이 됨
  • SQL은 ANSI/ISO 표준임에도 불구하고 SQL 언어에는 다양한 버전이 있음

SQL 로 할 수 있는 작업

  • 데이터베이스에서 쿼리 실행
  • 데이터베이스에서 데이터 검색
  • 데이터베이스에 데이터 레코드 삽입
  • 데이터베이스의 데이터 레코드 업데이트
  • 데이터베이스에서 데이터 레코드 삭제
  • 새로운 데이터베이스 생성
SQL 언어를 사용하여 데이터베이스 관리 시스템(DBMS)에게 
새로운 데이터베이스를 만들라는 명령을 내린다는 의미
SQL 자체가 하드웨어를 직접 조작하지는 않음
SQL 명령은 DBMS에 의해 해석되고 실행되며,
이 과정에서 DBMS는 파일 시스템 상에 새로운 데이터 저장 공간을 할당,
이 공간을 관리하기 위한 메타데이터를 생성

예로, "CREATE DATABASE"라는 SQL 명령을 사용하면
DBMS는 해당 명령을 받아 데이터베이스 파일을 생성,
이 데이터베이스를 사용할 수 있도록 초기 구성을 진행
SQL은 명령어를 전달하는 역할
실제 데이터베이스의 생성과 관리는 DBMS가 담당
  • 데이터베이스에 새 테이블 생성
  • 데이터베이스에 저장 프로시저를 생성
프로시저(procedure)
프로시저는 데이터베이스에서 실행할 수 있는 저장된 코드 블록
SQL 문과 선택적 제어 문을 포함할 수 있어서 특정 작업을 수행하는 데 사용
데이터 처리, 데이터 변환, 데이터베이스 안에서 복잡한 작업을 수행하는 데 사용
필요할 때마다 이 코드 블록을 재사용하기 위해 사용자가 프로시저를 호출
이는 코드 중복을 줄이고, 유지 관리를 용이하게 하며, 성능을 향상
프로시저는 데이터베이스 관리 시스템(DBMS)에 따라 다르게 구현될 수 있으며,
각 DBMS마다 프로시저를 생성하고 관리하기 위한 고유한 SQL 문법이 있음
  • 데이터베이스에 뷰 생성

데이터베이스 뷰

 

  • 데이터베이스 뷰
    • 데이터베이스 내에 생성되는 가상 테이블
    • 하나 이상의 테이블에서 선택된 데이터를 기반으로 구성이 쿼리에 의해 정의된 데이터를 사용자에게 표시
    • 실제 데이터를 저장하지 않고, 대신에 데이터를 조회하기 위한 SQL 쿼리를 저장
    • 뷰의 장점
      • 보안: 뷰를 사용하여 사용자가 접근할 수 있는 데이터를 제한
      • 단순화: 복잡한 쿼리 결과를 뷰로 저장함으로써 사용자가 이를 간단한 쿼리로 접근할 수 있게 함
      • 데이터 추상화:  구조가 변경되더라도 뷰를 통한 데이터 접근 방식은 동일하게 유지
      • 집계와 계산: 뷰를 사용하여 데이터의 집계나 계산된 필드를 제공
  • 테이블, 프로시저, 뷰에 대한 권한 설정

웹 사이트에서 SQL 사용하기

데이터베이스의 데이터를 표시하는 웹 사이트를 구축하기 위해 필요한 것

  • RDBMS 데이터베이스 프로그램(예: MS Access, SQL Server, MySQL)
  • PHP 또는 ASP와 같은 서버측 스크립팅 언어
  • 원하는 데이터를 얻기 위한 SQL 
  •  페이지 스타일을 지정하는 HTML/CSS

RDBMS

모든 테이블은 필드라는 더 작은 엔터티로 구분됨.

예로 고객 테이블의 필드는 CustomerID, CustomerName, ContactName, Address, City, PostalCode 및 Country로 구성됨

필드는 테이블의 모든 레코드에 대한 특정 정보를 유지하도록 설계된 테이블의 컬럼

행이라고도 하는 레코드는 테이블에 존재하는 각 개별 항목

레코드는 테이블의 수평 엔티티

컬럼은 테이블의 특정 필드와 관련된 모든 정보를 포함하는 테이블의 수직 엔티티입니다.

 

'[프로그래밍] DataBase' 카테고리의 다른 글

[DataBase] SQL 구문  (0) 2024.05.15
[DataBase] Table 제약조건  (0) 2024.05.12
[DataBase] 무결성  (0) 2024.05.12
[DataBase] Key  (0) 2024.05.11
[DataBase] DataBase Table  (0) 2024.05.10