일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 코딩테스트
- 트리플DES
- 가상머신
- 오라클
- C#
- 자바스크립트
- 이미지엑박
- springboot
- mssql
- 프로그래머스
- SQL
- memoryDB
- 다중pk
- ascx.cs
- db
- oracle
- 람다식함수
- 다중기본키
- 자동증가열
- ASP
- 데이터베이스
- VMWare
- 쿼리
- PHP
- 스프링부트
- mysql
- javascript
- CrossSiteScripting
- windows7
- HTML
- Today
- Total
목록데이터베이스 (11)
개발바닥 아방수

커서란? 행 단위 작업을 효율적으로 하기 위한 방식으로 테이블에서 여러 개의 행을 조회한 후 쿼리의 결과를 한 행씩 처리하는 방식입니다. SELECT 한 결과(행 집합)를 반복 작업해줘야 할 경우 유용하게 사용 가능 한 방식입니다. 커서의 특징 1. 커서는 내장 SQL 문의 수행 결과로 반환될 수 있는 복수의 튜플들을 액세스 할 수 있도록 해주는 개념입니다. 2. 커서는 질의 수행 결과로 반환되는 첫 번째 튜플에 대한 포인터로 생각할 수 있습니다. 3. 커서를 사용하여 질의 결과로 반환될 수 있는 튜플들을 한 번에 하나씩 차례대로 처리할 수 있습니다. 커서 관련 명령어 DECLARE : 커서를 정의하는 등 커서에 관련된 선언을 하는 명령입니다. OPEN : 커서가 질의 결과의 첫 번째 튜플을 포인트 하도..

되게 간단한건데 오늘 새롭게 알게되서 정리한다. 난 여태 한 테이블에 기본키가 2개 이상의 컬럼으로 이루어져있으면 그게 각각의 키로 인식해서 두 컬럼 모두 개별적으로 중복이 되면 안되는줄알았다. 그래서 두테이블간에 관계를 맺을때 식별자와 비식별자관계가 무슨 차이인지 잘 몰랐는데 2개 이상의 컬럼을 개별적으로 보는게 아니라 모두 합쳤을때 중복이 되면 안되는거였다. 즉, A컬럼과 B컬럼이 기본키로 잡혀있다고 가정할때 내가 여태 잘못알고있던 방식은 A는 A끼리 중복이 되면 안되고 B는 B끼리 중복이 되면 안되는줄알았는데 그게 아니고 [A = 1 B = 1], [A = 1, B = 2] 와 같이 두 컬럼 모두 중복이 아니라면 이 데이터는 무결성 원칙을 지키는 것이다. A컬럼과 B컬럼이 같이 기본키일때 B컬럼만 ..

ERD ' Entity Relationship Diagram ' 흔히 E-R 다이어그램이라고 불리우며 ERD 라고 줄여 부르기도 한다. 영어 약자 그대로 '존재하고 있는 것(Entity)들의 관계(Relationship)을 나타낸 도표(Diagram)' 이다. 여기서 말하는 존재하고 있는 것이란 데이터를 뜻하니 데이터들의 관계를 나타낸 도표인 셈이다. 그럼 데이터의 관계를 어떻게 나타내는지 그림들을 참고해 이해해보자. 먼저 ERD의 규칙을 살펴보면 아래와 같다. A는 부모, B는 자식의 관계를 가진 ERD이다. 여기서 '~B로 구성되어 있다'라는 말이 살짝 헷갈릴 수 있다. 이를 풀어 설명해주면 '~B를 포함하고 있다' 라고 이해하면 될 것 같다. 그리고 부모와 자식의 관계..

테이블을 설계하다보면 고유ID값으로 로그성 정보나 이력관련 부분등 자동증가열을 사용하는 경우가 있습니다. IDENTITY값관련 사용법 및 주의사항에 대하여 살펴보겠습니다. 아래 4가지 순서로 확인해보겠습니다. 1. 자동증가열 생성방법 2. ID값이 중간에 빠지는 경우 3. ID값 재사용방법. SET IDENTITY_INSERT .. ON 4. ID값 가져오기. ID값을 확인 시스템함수. @@IDENTITY,IDENT_CURRENT(),SCOPE_IDENTITY() 1. 자동증가열 생성방법 아래 스크립트문을 살펴보면 id필드값이 IDENTITY(1,1) 으로 설정된것을 알수있습니다. 초기값이 1로해서 1씩 증가하겠다는 의미입니다. IDENTITY(10,5)이런식으로 지정하면 초기값을 10으로 해서 5씩증가..
인덱스의 종류 SQL Server 에서는 인덱스의 종류로 크게 Clustered Index 와 Non Clustered Index 를 지원합니다. Clustered Index 는 해당 키를 기준으로 물리적으로 정렬되어지는, Non Clustered Index 는 해당 키를 기준으로 논리적으로 정렬되어 지게 됩니다. SQL Server 에 Primary Key 를 생성하는 경우 기본적으로는 Clustered Index 로 생성됩니다. 그러나 Primary Key 를 Non Clustered Index 로 생성한 후 Clustered Index 를 다른 컬럼으로도 생성할 수 있습니다. Clustered Index 는 가장 좋은 성능을 발휘하지만 테이블에서 한개밖에 생성할 수 없기 때문에, 해당 테이블을 조회..

차이점 클러스터드 인덱스는 데이터를 재배열 한다. 간단하게 차이점을 설명한다면 클러스터드는 입력된 데이터를 인덱스 기준으로 저장한다는 것입니다. 만약에 이런 데이터가 있다고 해봅시다. 게임이라고 하고 아이템 데이터를 데이터베이스에 저장합니다. 그리고 이와 같은 컬럼으로 저장을 합니다. 그리고 클러스터드를 게임아이디 기준으로 잡습니다. 아이템에서 가장 중요한건 소유가 가장 중요합니다. 아래처럼 테이블 생성하고 게임 아이디를 클러스터 인덱스로 잡았습니다. 그럼 아이템 데이터가 들어올때마다 게임 아이디 순으로 재배열 합니다. 이렇게 되면 게임속에서 해당 아이디가 가지고 있는 아이템 데이터를 조회 할때 유리 합니다. 1 2 3 4 5 6 7 CREATE TABLE 아이템테이블 ( 게임아이디 CHAR(8) NOT..

오라클 ▶ 오라클에서 스키마는 사용자(USER)가 생성한 모든 오브젝트(테이블, 인덱스, 프로시저 등)를 의미합니다. 사용자와 스키마가 같다고 보는 사람도 있는데, 엄밀히 말해서 다르다고 봐야 되겠죠. 그래서 스키마에 각각의 사용자에게 선택적인 권한을 줍니다. 오라클에서 데이터베이스는 실제 물리적인 데이터베이스를 의미합니다. (보통 schema는 tables의 집합이고 database는 schemas의 집합입니다.) Mysql/MariaDB ▶데이터베이스와 스키마가 같은 의미로 테이블 등의 오브젝트 집합입니다. PostgreSQL ▶Mysql의 데이터베이스가 PostgreSQL의 스키마입니다. 데이터베이스는 스키마의 상위 개념입니다. 그래서 PostgreSQL는 Mysql과 다르게 데이터베이스가 다르면 ..
✅ mysql에서는 일반적으로 숫자와 문자는 홑따옴표 ‘’로 묶어주고, 입력된 데이터의 대소문자는 구별하지만, SQL 명령어는 대소문자를 구별하지 않는다. 그러나 명령어를 대문자로 작성하자 데이터의 입력 위치는 중요하지 않다 사용자는 모두 mysql.user라는 ‘데이터베이스.테이블’에 들어있게 된다. 한 줄 코멘트는 --로 시작하면 되고, // 여러줄 코멘트는 /* ~ */ 해주면 된다. ✅ select 정렬하기 order by (ASC) 오름차순으로 정리해라 order by DESC 내림차순으로 정리해라 ▶ select * from emppp_tbl → where gene=’male’; ▶ select * from emppp_tbl where gene=’male’ → order by lname; ▶ ..
❇️ nano 에디터 명령줄에서 작업할 때 텍스트 파일을 생성하거나 편집해야 하는 경우가 많습니다. 가장 강력하고 인기 있는 명령줄 편집자는 Vim과 Emacs입니다. 두 회사 모두 학습 곡선이 가파르기 때문에 신규 사용자를 위협할 수 있습니다. 간단한 편집기가 필요한 분들을 위해 나노가 있습니다. GNU nano는 유닉스 및 리눅스 운영 체제용 명령줄 텍스트 편집기입니다. 여기에는 구문 강조 표시, 다중 버퍼, 검색 및 정규식 지원으로 대체, 맞춤법 검사, UTF-8 인코딩 등과 같은 일반 텍스트 편집기에서 기대할 수 있는 모든 기본 기능이 포함되어 있습니다. 파일 생성 및 열기, 파일 편집, 파일 저장, 텍스트 검색 및 바꾸기, 텍스트 잘라내기 및 붙여넣기 등 (참고출처)https://jjeongil..

✅ Query(쿼리)의 기본은 ▶ select 열_명1, 열_명2, ... (OR 모든 열이면 *) from 테이블_명 ▶ where 조건; 이다. ❇️ Query(쿼리)란? 데이터베이스에게 특정한 데이터를 보여달라는 클라이언트(사용자)의 요청이다. 흔히 ‘쿼리문을 작성한다'고 많이 말하는데, 이는 데이터베이스에서 원하는 정보를 가져오는 코드를 작성한다는 정도로 이해하면 된다. 쿼리문을 잘 작성한다는 건 데이터베이스에서 필요한 정보에 빠르게 접근하고, 데이터를 능숙하게 핸들링 한다는 말로도 볼 수 있다. (참고출처) https://hengbokhan.tistory.com/133 ❇️ SELECT란? select 쿼리는 테이블에서 원하는 컬럼의 데이터를 조회합니다. (참고출처) https://extbrai..