본문 바로가기

전체 글48

DB | 데이터베이스 프로그래밍 Chapter 05 데이터베이스 프로그래밍 데이터베이스 프로그래밍의 개념 ‘데이터베이스 프로그래밍’이란 DBMS에 데이터를 정의하고 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정 대표적인 데이터베이스 프로그래밍 SQL 전용 언어를 사용하는 방법 SQL 자체의 기능을 확장하여 변수, 제어, 입출력 등의 기능을 추가한 새로운 언어를 사용하는 방법 MySQL: 저장 프로그램, 오라클: PL/SQL, SQL Server: T-SQL이라는 용어 사용 장점: 데이터베이스를 다루는 능력이 뛰어나고 다루는 방법이 쉽다. 단점: 사용자 인터페이스(GUI)를 구축하는 기능이 없어 독립적으로 사용하기보다 프로시저나 함수 등으로 구현하여 다른 프로그램에서 호출해 사용한다. 일반 프로그래밍 언어에 SQL을 .. 2023. 8. 27.
DB | SQL 고급 Chapter 04 SQL 고급 내장 함수 SQL 내장 함수 상수나 속성 이름을 입력 값으로 받아 단일 값을 결과로 반환한다. 모든 내장 함수는 최초에 선언될 때 유효한 입력 값을 받아야 한다. 선언에 위배된 값이 입력되면 질의는 실행을 중지하고 에러 메시지를 출력 SQL 내장 함수는 SELECT 절, WHERE 절, UPDATE 절에서 사용 가능 SELECT ... 함수명(인자1, 인자2, ...) FROM 테이블 이름 WHERE ... 열이름=함수명(인자1 인자2, ...); UPDATE 테이블 이름 SET ... 열이름=함수명(인자1, 인자2, ...); 구분 함수 단일행 함수 숫자함수 ABS, CEIL, COS, EXP, FLOOR, LN, LOG, MOD, POWER, RAND, ROUND, S.. 2023. 8. 27.
DB | SQL 기초 CHAPTER 03 SQL 기초 SQL 개요 SQL 특징 SQL 문은 세미클론(;)으로 끝난다.(생략 가능하지만 좋은 습관은 아니다.) SQL 예약어는 대분자로, 테이블이나 속성 이름은 소문자로 적어주는 것이 좋다. 문자열 비교 시 인용부호 ''(작은 따옴표) SQL 구분 데이터 정의어(DDL, Data Definition Language) 테이블이나 관계의 구조를 생성하는 데 사용 CREATE, ALTER, DROP 데이터 조작어(DML, Data Manipulation Language) 테이블에 데이터를 검색, 삽입, 수정, 삭제하는 데 사용 SELECT, INSERT, DELETE, UPDATE 데이터 제어어(DCL, Data Control Language) 데이터의 사용 권한을 관리하는 데 사용 .. 2023. 8. 25.
DB | 관계 데이터 모델 CHAPTER 02 관계 데이터 모델 관계 데이터 모델의 개념 1. 릴레이션 릴레이션(relation)-테이블이라고 주로 많이 부름 행과 열로 구성된 테이블 릴레이션(relation)과 관계(relationship)을 구분 지을 필요가 있음 관계(relationship) 릴레이션 내 데이터들의 관계와 릴레이션 간의 관계로 구분할 수 있다. 릴레이션 간의 관계는 각 릴레이션 간의 식별 가능한 값을 이용하여 연결한다. 2. 릴레이션 스키마와 인스턴스 릴레이션은 스키마와 인스턴스로 이루어진다. 스키마(schema): 관계 데이터베이스의 릴레이션의 구성, 정보에 대한 기본적인 구조를 정의 헤더: 테이블의 첫 행 스키마는 헤더에 나타나며, 각 데이터의 특징을 나타내는 속성, 자료 타입 등의 정보 내포 인스턴스(i.. 2023. 8. 25.
DB | 데이터베이스 시스템 CHAPTER 01 데이터베이스 시스템 데이터베이스의 개념 1. 통합된 데이터(integrated data) 여러 곳에서 사용하던 데이터를 하나로 저장 중복 최소화로 데이터 불일치 현상 제거 2. 저장된 데이터(stored data) 컴퓨터 저장 장치에 저장된 데이터 3. 운영 데이터(operational data) 조직의 목적을 위해 사용되는 데이터 4. 공용데이터(shared data) 여러 사람 또는 업무에 공동으로 사용되는 데이터 데이터베이스의 특징 1. 실시간 접근성(real time accessibility) 사용자가 요청하는 순간 실제 데이터를 서비스한다. 2. 계속적인 변화(continuous change) 삽입, 삭제, 수정 등의 작업으로 데이터의 변화를 저장한다. 3. 동시 공유(con.. 2023. 8. 25.
고민 | 새로고침 마다 데이터가 중첩 저장된다..? 새로고침을 할 때마다 Json으로 받아오는 데이터가 db에 쌓이는 문제가 발생했다.. 이 글은 이를 해결해보는 과정을 기록한 글입니다. 문제 상황 이전에는 GET 방식으로 홈페이지에 들어가는 동시에 DataManager가 Json 데이터를 파싱하여 db에 저장하는 방식으로 진행되었다. 이런식으로 데이터가 저장되다보니 데이터가 중첩되어 저장되는 상황이 일어났다. 일이 벌어지고 나서야 알아채다니.. 어떻게 해결하면 좋을까 어떤 객체를 사용할 때마다 데이터가 중복되어 저장되면 안 되기 때문에 코드에서 딱 한번 실행될 부분을 생각해야한다. 가장 좋은 방법은 객체의 생성 시점에 데이터를 함께 생성하는 것이 좋겠다는 생각이 들었다. 때문에 InitService가 생성될 때 데이터를 생성하도록 코드를 변경해주었다. .. 2023. 8. 17.