BackEnd/DB 9

[Mysql,MariaDB] 재귀쿼리(With Recursive) 를 이용하여 전체 시간 구하기

돌발적으로 일어나는 이벤트를 하루기준으로 1시간마다 몇건씩 일어나는지 체크해야 하는 쿼리가 필요했습니다. 이러한 시계열 데이터를 구하기 위해서 전체시간이 필요하고 그 시계열 기준이 되는 시간과 이벤트 발생시간을 JOIN해야 합니다. 전체시간을 구하기 위해선 제가 아는 방법으론 두가지가 있습니다. 첫째 모든 시간값을 특정 date라는 이름의 테이블을 만들어 모든 시간값을 집어 넣는 것 둘째로는 반복쿼리 (재귀쿼리)를 이용하여 전체시간값의 가상 테이블을 만들어 JOIN을 걸어두는 것입니다. 저는 1시간 기준으로 오늘날짜를 기점으로 현재시간 까지의 시간값이 필요하여 다음과 같이 작성하였습니다. WITH RECURSIVE `CTE` AS( SELECT # 시작 기준이 되는 날짜 DATE_FORMAT(NOW(),..

BackEnd/DB 2024.01.26

ORACLE_마지막 수업

오라클-MS SQL마지막날. 버스예약시스템 DB를 만들어보고 일련의 BACKEND PROCESS를 만드는 프로젝트가 끝났다. 교수님께서 주신 기본 STRUCTURE를 가지고 필요에 따른 TABLE을 추가 및 PROCESS를 정리하여 진행하였다. 이 프로젝트를 만들어보면 학습하게된 개념들은 TABLE,VIEW 그리고. DML (INSERT,UPDATE,DELETE,DROP) 그리고 TABLE들의 JOIN과 효율적인 VIEW를 사용하여 QWERY를 간편하게 사용하는 필요성과 요령에 대해 배울수있었다. EXCEL을 통해 임의의 수많은 데이터값들을 삽입해보고 어떤 COLUMN들을 어떻게 TABLE로 묶어야 할지 그리고 TABLE JOIN의 효율성에 대해 학습하게된 프로젝트였다.

BackEnd/DB 2021.06.02

ORACLE_VIEW

VIEW 가상의 TABLE이자 객체화 시켜 언제든지 사용가능하다. DML기능 사용 할 수있지만 큰 의미가없고 WHERE를 포함시키면 활용도가 떨어진다.(조건이 정해져 있기 때문에.) 복잡한 QUERY를 단순화시키느데 도움이 됨. 또한 항상 다음프로세스까지 생각해 만들어야 한다. 단순하게 현재 원하는것만 짜다보면 나중에 꼬이고 난리난다.. 전체 테이블구조를 숙지하고 이런 연습을 지속적으로 해야 함.

BackEnd/DB 2021.05.29

ORACLE_JOIN , 다중테이블, GROUPING, VIEW

- JOIN 두개의 TABLE을 합치는 기능. COULMN으로 연결. 단 두개의 TABLE에 공통되는 COLUMN이 존재해야 함. JOIN은 크게 두가지로 나뉘는데 INNER JOIN 과 OUTER JOIN이 존재. INNER JOIN은 두 테이블의 JOIN조건(ON)에 부합하는, 즉 교집합되는 테이블을 보여주는것(SELECT를 통해)이고 OUTER JOIN은 INNER의 조건을 포함, 두테이블의 공통분모를 포함하여 한 테이블의 전체 데이터를 보여주는 것.

BackEnd/DB 2021.05.28

ORACLE_DML(SELECT,INSERT,UPDATE,DELETE)

오늘은 DML에 관해 배웠다. 위키에 의하면 DML은 Data Manipulation Language로써 데이터 조작 언어로 불리운다. 데이터의 SELECT- 검색(질의), INSERT - 삽입(등록), UPDATE 업데이트(수정), DELETE-삭제 4가지 종류이며 SELECT SELECT * FROM [TABLE NAME] ; 을 입력하면 TABLE NAME에 관한 정보를 불러와준다. SELECT * FROM S_MT WHERE STORECODE='K001'; (S_MT : TABLE NAME), (STORECODE = COLUMN NAME) S_MT라는 TABLE에 관해 보여준다. WHERE(STORECODE=K001)이라는 조건에 만족하는 즉 , STORECODE=K001에 만족하는 S_MT라는 ..

BackEnd/DB 2021.05.25

ORACLE_Primary Key, Unique Key, Not Null

- CONSTRAINTS :: 제약조건 :: 테이블에 데이터를 입력하거나 수정하거나 삭제할 때 작동 Coloumn에 적용 제약조건은 수정이 불가 --> 삭제 후 생성해야함. - DML(DATA MANIPULATION LANGUAGE) : INSERT, UPDATE, DELETE CREATE TABLE [TABLE NAME] ( [COLUMN NAME] [DATA TYPE] [ATTRIBUTE] . . . [COLUMN NAME] [DATA TYPE] [ATTRIBUTE] ); ------------------------------------------------------------------ 학원에서 진행할 실질적 예제, Test용 Table CREATE TABLE TEST( -->table을 user..

BackEnd/DB 2021.05.23

ORACLE_Dba, Grant, Table, Data Type

ORACLE , SQL DataBase를 오늘부터 배운다! DataBase바깥의 문지기 = listener..? 머드라.. 왜 이런말을했지? SQL도 여럿 종류가 있지만 ORACLE은 MS SQL을 연동하여 사용한다.그룹별로 나뉘어 서버컴퓨터를 한대 두고 그곳에 DB를 보관정리 하게 되었다. 그래서 우리 서버에 DBA를 만들고 각자의 아이디를 생성했다.  ( DBA란 DataBaseAdministrator의 줄임말로 DataBase를 관리하는 계정이다.) 이 계정을 포함하여 총 6개의 계정을 생성 및 보유하고 있는데 SERVER의 SYSTEM 전반을 담당하는 sys 계정, DB를 관리하는 dba계정, 그리고 조원 4명 각각의 개발자 계정을 생성했다. sys계정으로 로그인하여 DBA를 생성할 때  DBA의..

BackEnd/DB 2021.05.20
반응형